CMake:如何将具有不同文件名的导入库链接到库名称

问题描述 投票:0回答:1

我正在尝试使用Cmake链接外部构建的库来创建Visual Studio解决方案。对于我的可执行文件,我使用:

target_link_libraries( exe_target import_target )

并且导入目标被声明为

add_library(import_target STATIC IMPORTED)

import_target的文件名是import.lib,所以我用

set_target_properties(import_target PROPERTIES IMPORTED_LOCATION "import.lib")

但是当我生成项目时,我生成的exe试图与“ import_target.lib”链接。 CMake文档中列出的IMPORTED_属性似乎都没有任何影响(例如,共享库的IMPORTED_IMPLIB)。它的行为就好像import_target不是目标,而是.lib文件的简单文件名。

我需要做什么来强制CMake链接正确的文件名?

cmake
1个回答
0
投票

似乎您使用的IMPORTED_LOCATION目标属性似乎不正确。从文档中,此属性应设置为:

导入目标的磁盘上主文件的完整路径。

因此,您需要为库设置完整路径,包括库名称:

IMPORTED_LOCATION
© www.soinside.com 2019 - 2024. All rights reserved.