cem*_*ate 7 unix windows-7 path headers libraries
当 unix/linux 程序需要“东西”时,我通常将(或 dpkg 为我放置)库和头文件分别放在 /usr/lib 和 /usr/include 中。
我最近下载了一个我希望在 Windows 上使用的库,最近在我的 linux 机器上这样做之后,它提供了一个预构建的 Windows 二进制文件的下载。当然,这带有属于库的 .dll、.lib 和 .h 文件。
我的问题是,是否有任何范例或模式可以放置这些文件,以便我可以从几个不同的程序/源文件中使用它们?随库提供的 README 没有提到这一点,所以请原谅我对 unix 的无知。另外,我使用的是命令行/gcc 工具链,而不是 VC。
通常,唯一共享的库是 Visual Studio、.NET Frameworks、DirectX 和 Windows API 的库。其他库通常安装到每个应用程序目录中。通常,如果需要安装库以供共享使用,它将执行以下两项操作之一:
然而,最终,只要用户对它们具有读取访问权限,将它们放在文件系统中的哪个位置并不重要。正确的动态库已注册(大多数响应regsvr32 <dllname>和regsvr32 /u <dllname>),因此需要它们的应用程序将向 Windows 注册表询问它想要的库(基于 GUID 或类名),并且注册表知道该文件在哪里。这里的注册表充当已安装库的全局目录。
更新:
作为参考,以下是 Windows 如何搜索您按库名称指定的库。
如果您指定所需的类,有多种方法可以做到这一点。例如,如果您知道 CLSID,则可以使用CoGetClassObject ,您可以使用CLSIDFromProgID等方法获取 CLSID 。
| 归档时间: |
|
| 查看次数: |
4287 次 |
| 最近记录: |