所以,我正在构建一个静态C ++ 11 Windows库A.lib,它使用'PocoFoundationmt.lib'和其他一些第三方库,我不想拥有测试应用程序(Z.exe)它使用A.lib在链接器命令中包含所有库的长列表。所以,我想将所有第三方库合并为composite.lib
A.lib的项目由cmake生成,CMakeLists.txt文件包含以下行:
add_library(A STATIC ${SOURCES})
target_link_libraries(A PRIVATE PocoFoundationmt.lib OtherStaticLibs.lib)
现在,在构建A.lib之后,我执行LIB.EXE以按照许多线程中的建议组合库:
例如。 Linking static libraries to other static libraries
LIB.EXE /OUT:composite.lib A.lib PocoFoundationmt.lib OtherStaticLibs.lib
但是,当我将composite.lib链接到我的Test应用程序时,它总是抛出此错误:
LINK : fatal error LNK1104: cannot open file 'PocoFoundationmt.lib'
许多线程建议以这种方式组合库。这是正确的方法还是我必须在我的测试应用程序(Z.exe)的链接器输入参数中提及所有库?