使用cmake构建引用子目录中的库的库
我正在尝试使用当前适用于Unix和Windows的Makefile转换生成。我有以下目录布局:使用cmake构建引用子目录中的库的库,cmake,Cmake,我正在尝试使用当前适用于Unix和Windows的Makefile转换生成。我有以下目录布局: lib1 lib2 lib2依赖于lib1 在lib1中,我使用 ld -r obj1.o -o lib1.o'. 在lib2中,我还使用lib1目录中创建的lib1.o文件创建了一个.o文件,使用: ld -r obj2.o ../lib1/lib1.o -o lib2.o 在Windows上,除了我们使用lib1中的lib命令创建一个.lib文件外,它非常相似: lib -out:lib1
- lib1
- lib2
ld -r obj1.o -o lib1.o'.
在lib2中,我还使用lib1目录中创建的lib1.o文件创建了一个.o文件,使用:
ld -r obj2.o ../lib1/lib1.o -o lib2.o
在Windows上,除了我们使用lib1中的lib命令创建一个.lib文件外,它非常相似:
lib -out:lib1.lib obj1.obj
在lib2中:
lib -out:lib2.lib obj2.obj ..\lib1\lib1.lib
不幸的是,无论我做什么,lib1.o对象文件在构建lib2.o时从未出现
我的CMakeLists.txt文件位于lib1中:
project (lib1)
add_library(lib1 obj1.c)
在lib2中:
project (lib2)
add_library(lib2 obj2.c)
target_link_libraries(lib2 lib1)
从根本上说,我有:
project (root)
add_subdirectory(lib1)
add_subdirectory(lib2)
add_dependencies(lib2 lib1)
实现这一目标,我还缺少什么吗
谢谢,
Manu您需要
目标链接库()
而不是添加依赖项()
。我为'lib2'做了这项工作,但它似乎没有任何效果。这应该可以正常工作。您是否尝试过创建上面的最小示例?你实际拥有的东西和你在这里展示的东西可能有区别?