链接没有标准名称/扩展名的库
Linking a library that not have a standarized name/extension
如果在cmake中使用命令target_link_libraries,链接到链接器时,将搜索符合某些标准的库。对于稳定:
使用以下命令:
target_link_libraries(some_target some_lib)
在Linux中链接器将搜索: libsome_lib.so 时,在Windows中,链接器将搜索 some_lib.lib.lib.lib (在Windows中,我正在编译VS项目生成的VS项目来自CMAKE项目)。
由于我的应用程序的部署要求,库没有扩展名,并且必须在两个OS中称为相同(例如some_lib
)。
我该如何告诉cmake搜索此类库?
编辑:指定图书馆的完整路径不起作用。
我从未测试过,但是cmake wiki文档将这些变量引用到指定库扩展:
CMAKE_FIND_LIBRARY_SUFFIXES CMAKE_IMPORT_LIBRARY_SUFFIX
特定于Windows。似乎是只读的。使用
SET_TARGET_PROPERTIES
。CMAKE_LINK_LIBRARY_SUFFIX
特定于Windows的。
CMAKE_SHARED_LIBRARY_SUFFIX
似乎是只读的。使用
SET_TARGET_PROPERTIES
。CMAKE_STATIC_LIBRARY_SUFFIX
似乎是只读的。使用
SET_TARGET_PROPERTIES
。
相关文章:
- C++中的VLA,扩展名为std=C++11
- 如何按文件扩展名引用文件夹中的文件
- VSCode 中带有 C/C++ 扩展名的多行注释缩进错误
- 为什么我无法打开/读取从 Python 调用的 C 扩展名中的 txt 文件?
- 使用Boost文件系统C++将具有特定扩展名的文件的名称保存在特定文件夹中
- 共享库 (.so) 没有扩展名的 Linux 可执行文件之间的区别?
- Visual Studio Code "variable " u8 的 C/C++ 扩展名 " " 不是类型名称"
- Makefile by ocaml 和 cpp 扩展名
- CMake 不编译具有非标准扩展名的文件
- Visual Studio 2019 - 设置文件类型的默认扩展名
- 如何在 Windows 上获取带有 c++ 且没有 <dirent.h> 的特定扩展名的所有文件的列表
- 谁能告诉我,程序中的错误是什么?该程序仅用于获取文件扩展名
- 如何在 vscode 扩展名中检索 C/C++ 文件的编译命令
- 通过cMake使用具有自定义文件扩展名的共享库
- 如何在 CMake 中"override"文件的按扩展名类型
- 在另一个字符串中插入文件扩展名之前的字符串
- 如何在不使用文件扩展名的情况下使用命令行参数打开C++中的文本文件?
- 将 int 转换为字符串,然后连接另一个变量以创建完整扩展名,然后将其转换为 const_char*
- 警告 C4481 枚举中使用的非标准扩展名'MyEnum'限定名称中使用
- 链接没有标准名称/扩展名的库