【问题标题】:How to specify the path for .lib files in cmake?如何在 cmake 中指定 .lib 文件的路径?
【发布时间】:2013-08-14 07:10:07
【问题描述】:

我正在尝试使用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)

【问题讨论】:

    标签: visual-studio cmake


    【解决方案1】:

    引用 CMake 文档:

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

    因此,您需要设置 ARCHIVE_OUTPUT_DIRECTORYCMAKE_ARCHIVE_OUTPUT_DIRECTORY(两者之一就足够了),而不是设置 LIBRARY_OUTPUT_DIRECTORYCMAKE_LIBRARY_OUTPUT_DIRECTORY

    【讨论】:

    • 感谢它正在工作。但是如何为中间目录(.dir)指定单独的目录。
    • 您对生成的中间文件的布局影响很小。但是,请参阅 this question 了解为什么不应该打扰您。
    • 我想将中间文件(如构建时生成的.obj和.dir)放在单独的目录中。要设置的目标属性是什么。
    • @123r789 正如我所说,你不能这样做,你不应该打扰。无法这样做是否会导致您的案例出现特定问题?如果是,是什么问题?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-23
    • 2013-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多