在 CMakeLists.txt 中,如果我将 .lib(静态库)文件路径定义为绝对路径,则它工作正常。但如果我定义与相对路径相同,则会引发错误。如何在没有硬编码的情况下解决它?
文件结构:
|--D
| |--Rohit
| | |--Sandbox
| | | |--demo
| | | | |--src
| | | | | |--abc
| | | | | | |--build
| | | | | | |--CMakeLists.txt
| | | | | | |--lib
| | | | | | | |--foo.lib
.
.
| | | | |--workspace
| | | | | |--xyz
| | | | | | |--foo2.lib
这种方式工作正常:
add_library(foo STATIC IMPORTED)
set_property(TARGET foo PROPERTY IMPORTED_LOCATION D:/Rohit/Sandbox/demo/src/abc/lib/foo.lib)
这种方式会引发错误:
add_library(foo STATIC IMPORTED)
set_property(TARGET foo PROPERTY IMPORTED_LOCATION "/lib/foo.lib")
我的 CMakeLists.txt 路径:D:\Rohit\Sandbox\demo\src\abc\CmakeLists.txt
这是我得到的错误:链接:致命错误 LNK1104:无法打开文件 '\lib\foo.lib'
另外,如果我想包含其他文件夹中的 .lib 文件(假设 foo2.lib 文件存在于工作区的 xyz 文件夹中),如何定义它?