gpt4 book ai didi

c - 使用 VS 2013 编译器将 .a 文件与 CMake 链接

转载 作者:太空宇宙 更新时间:2023-11-04 04:16:09 25 4
gpt4 key购买 nike

我有以下文件树:

   C:.
│ CMakeLists.txt
│ myLibraryHeader.h
│ test.c

└───myLib
├───win32
│ myLibrary.a

└───win64
myLibrary.a

以及以下 CMake 文件:

cmake_minimum_required(VERSION 2.8)
project(myProject)
link_directories(myLib/win32)
add_executable(main test.c)
target_link_libraries(main myLib/win32/myLibrary.a)

myLibraryHeader.h 是标题,而实现在 .a 文件中。test.c 使用在 myLibraryHeader.h 中声明的函数。

但是,当我尝试使用 VS2013 编译器对其进行编译时,出现此错误:

Error   1   error LNK1104: cannot open file 'myLibrary.lib'

VS 寻找.lib 文件而不是.a 文件的原因是什么?

如何修复?

最佳答案

尝试以下操作:

unset(CMAKE_LINK_LIBRARY_SUFFIX)

但请注意,它会影响从此行传递给 target_link_libraries 的任何库名称。

关于c - 使用 VS 2013 编译器将 .a 文件与 CMake 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52177515/

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