gpt4 book ai didi

c++ - 为什么我的 DLL 文件和它对应的 LIB 文件有不同的名字?

转载 作者:行者123 更新时间:2023-11-28 04:08:49 25 4
gpt4 key购买 nike

我有一个 CMakeLists.txt 文件,因为我想在生成的 DLL 和 LIB 文件前加上“lib”(以在平台之间保持一致),我有以下声明:

if (MSVC)
# Here, PROJECT_NAME -> "MyLibrary"
set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "lib")
endif()

当我使用这个文件构建我的库时,DLL 文件会添加前缀(例如。libMyLibrary.dll),但 LIB 文件没有前缀(例如。MyLibrary.lib)。谁能想到这个问题的原因?

我假设 set_target_properties() 调用设置了 DLL 和 LIB 文件的属性。谢谢!

最佳答案

这里的target只是输出文件(.dll),还需要设置ARCHIVE_OUTPUT_NAME

set_target_properties(${PROJECT_NAME} PROPERTIES ARCHIVE_OUTPUT_NAME "lib${PROJECT_NAME}")

关于c++ - 为什么我的 DLL 文件和它对应的 LIB 文件有不同的名字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58238018/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com