|
1
1
键入六个文件名,或使用带有pragma comment(lib,“foo.lib”)的声明式样式,与将其转换为DLL或COM服务器所需做的工作相比,是微不足道的。 发行版非常倾向于将其用作静态链接库。只有spotty声明可以将其转换为带有declspec(dllexport)的DLL。它们只存在于第三方依赖关系中。当然,所有这些都使用不同的定义,您将在项目的预处理器定义中键入一组名称。 此外,由于在COM服务器中使用此DLL,因此在运行时实际加载此DLL将非常困难。当COM创建控件实例时,DLL的搜索路径将是客户端应用程序的路径,不太可能靠近部署DLL的位置。 使其成为COM服务器是 许多 |
|
|
2
1
您还可以将所需的所有功能打包到非COM dll中。Visual studio支持创建一个静态包装库,当链接时,它将使您的程序使用dll。这样,您只需要指定一个依赖项,而不是六个。
|
|
|
3
1
也许我遗漏了一些东西,但我真的不知道(1)有什么问题。我认为,即使您有多个使用libkml的项目,只要将libkml的项目文件插入到解决方案文件中,指定依赖项,就应该完成。很简单。即使解决方案(2)也非常简单。如果库发生了变化,你就需要重新构建——无论如何你都需要这样做。 我看不出(3)或(4)是多么必要,甚至是多么渴望。对我来说,这听起来像是为目标(源代码树组织和可维护性)做了很多工作,我甚至不确定这些选项是否真的能实现。事实上,你自己说过“libkml代码与我们应用程序的代码相比不太可能发生变化。” 这些年来我发现的是保持简单。如果重建KML可能很耗时,请获取libs并静态链接到库。是的,还有其他的依赖项,但是您只需设置一次就可以完成,希望以后再也不用担心了。否则,就把它放在项目中,然后继续前进。我认为值得问的是,在这个问题上花很多时间是否值得麻烦。 |
|
|
tantuni · 如何从julia调用共享库中的函数指针 2 年前 |
|
|
Community wiki · Bash脚本创建到共享库的符号链接 2 年前 |
|
|
irio lavagno · 应用程序和插件之间的库不匹配 2 年前 |
|
|
GetFree · LSB AppChecker:针对未使用库的GCC链接 16 年前 |
|
|
An̲̳̳drew Chad Okere · 共享库术语 16 年前 |