如何在cmake中指定.lib文件的路径?

3

我正在尝试使用 cmake 构建一个项目。在其中,我指定了用于 .dll.lib 的不同文件夹。虽然 dll 文件已经生成在我指定的文件夹中,但是 .lib 文件并没有生成在指定的文件夹中。请给出这个问题的解决方案。

我在 cmakelists.txt 中使用的命令是:

set(CMAKE_LIBRARY_OUTPUT_DIRECTORY My_Lib)

SET_TARGET_PROPERTIES(MyApi PROPERTIES 
                                    LINKER_LANGUAGE CPP 
                                    RUNTIME_OUTPUT_DIRECTORY My_Binary
                                    LIBRARY_OUTPUT_DIRECTORY My_Lib)
1个回答

5

引用自CMake文档:

对于DLL平台,共享库的DLL部分被视为运行时目标,相应的导入库被视为存档目标。

因此,您需要设置ARCHIVE_OUTPUT_DIRECTORYCMAKE_ARCHIVE_OUTPUT_DIRECTORY(其中一个就足够了),而不是设置LIBRARY_OUTPUT_DIRECTORYCMAKE_LIBRARY_OUTPUT_DIRECTORY


谢谢,它正在工作。但是如何指定中间目录(.dir)的单独目录? - 123r789
2
你对生成的中间文件的布局只有非常少的影响力。然而,查看这个问题可以了解为什么这不应该困扰你。 - ComicSansMS
我想将生成的中间文件(如 .obj 和 .dir 等)放置在单独的目录中。需要设置哪些目标属性? - 123r789
@123r789 正如我所说,你不能这样做,也不应该去尝试。如果无法这样做在你的情况下造成了特定的问题,那么是什么问题呢? - ComicSansMS

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接