腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
视频
沙龙
1
回答
使用具有外部依赖关系的库构建多个子项目
c++
、
cmake
、
itk
我正在为一个包含CMake (版本3.11)和子目录的项目而奋斗。它包括作为外部库的ITK。 我想要创建一个库,我可以在像MyApp这样的不同子目录中使用这个库来构建多个基于MyLib的应用程序,并且在其他应用程序中更新MyLib中的每一个更改。MyLib是一个只标头的模板库.此外,这类库在VisualStudio中没有自己的项目。 我的问题是: 在这个场景中使用CMake的正确方法是什么?我搜索并尝试了一些示例,但没有成功。理想情况下,我可以根据MyLib独立构建应用程序。顶部CMakeLists.txt可能不会从库中提取包含。这应该由应用程序来完成。 ,如果MyLib变成了一个非标
浏览 0
提问于2019-01-21
得票数 1
回答已采纳
1
回答
无法找到main.cpp上下文中的目录(CMake的快板)
c++
、
cmake
、
allegro5
我正在尝试创建一个库,它使用allegro5来链接到CMake媒体库。然后,我想在可执行文件中使用我的库。 我的目录结构是: src |----core |------src |------tests |------CMakeLists.txt |----main.cpp |----CMakeLists.txt 核心文件夹中的CMakeLists.txt文件是: set(MY_HEADERS #My header files here) set(MY_SRC #My source files here) add_library(MyLib
浏览 3
提问于2020-02-08
得票数 0
回答已采纳
2
回答
如何在新的Visual Studio配置中强制CMake与调试库链接?
visual-studio
、
cmake
我正在使用CMake创建一个Visual Studio2008项目。在这个项目中,我需要创建一个名为UnitaryTests的新配置。所以,在CMakeLists.txt中,我把这行代码 set(CMAKE_CONFIGURATION_TYPES "Release;Debug;UnitaryTest" CACHE STRING "Configurations" FORCE) 在稍后的CMakeLists.txt文件中,有以下行: target_link_libraries( ${PROJECT_NAME} ${ASTEK_LIBRARIES} ) 要与外部包链
浏览 0
提问于2012-02-27
得票数 3
回答已采纳
1
回答
未使用CMake项目运行Catch2单元测试
c++
、
cmake
、
catch2
我有一个结构如下的项目: |--assets/ |--core/ |--deps/ |--Catch2/ |--win32/ |--# Have Catch2 library installed here |--include/ |--# Nothing here |--src/ |--sample.cpp # No content in this file |--tests/ |--test.cpp |--CMakeList
浏览 6
提问于2019-09-15
得票数 0
1
回答
CMake链接库不会出现在VisualStudio生成的项目中
c++
、
cmake
、
static-libraries
我正在用cmake为VisualStudio生成一个VisualStudio项目,并且所提供的链接函数似乎不适用于生成的VisualStudio项目。 生成的项目是一个库,它依赖于另一个库作为依赖项。 项目的生成工作良好,但在“附加依赖项”条目下,无论我尝试什么,都不会出现任何内容。 例如,在声明“link_libraries( MyLib )”之前和之后,我尝试使用“add_library”和"target_link_libraries“: project( MyLib ) ... add_library( MyLib ${source_list} ) ... target_link
浏览 0
提问于2018-12-16
得票数 0
回答已采纳
1
回答
CMAKE如何告诉makefile链接库?
c++
、
linux
、
makefile
、
cmake
我有一个简单的可执行文件,它使用来自库mylib在~/mylib/lib/libmylib.so的函数。 在CMakeLists.txt上,我告诉CMAKE在哪里找到这个库并链接它: find_library(MYLIB_PATH mylib HINT $ENV{HOME}/mylib/lib) target_link_libraries (output "${MYLIB_PATH}") 执行cd build; cmake ..后,生成Makefile,并调用make成功编译它。 但是,假设我在CMakeLists.txt上评论第二行,如 find_library(MYLIB
浏览 2
提问于2020-05-04
得票数 2
回答已采纳
1
回答
将静态boost构建链接到VS2012 &Win32 32/64下的静态库
visual-studio
、
boost
、
visual-studio-2012
、
cmake
、
static-libraries
我正在尝试构建一个静态库,作为网络设备的API发布。我可以成功地编译和链接库以生成.lib输出文件,并将它们重新定位到目录结构中,如下所示: EyeLib L-Include | L-PublicInterface.h L-Lib | L-debug | | L-MyLib.lib | | L-MyLib.pdb | L-release | L-MyLib.lib L-MyLibConfig.cmake 其中MyLibConfig.cmake文件非常简单,并包含: # the header file is relative to this cmak
浏览 1
提问于2013-08-21
得票数 2
回答已采纳
1
回答
如何最好地告诉CMake在哪里找到dll
c++
、
windows
、
visual-studio
、
dll
、
cmake
我有一个简单的项目结构,它来自于这个令人惊叹的教程。 它看起来如下: - src - CMakeLists.txt - mylib - include/mylib/mylibclass.h - src/mylibclass.cpp - CMakeLists.txt - myapp - src/myapp.cpp - CMakeLists.txt 顶级CMakeLists.txt包含: cmake_minimum_required( VERSION 3.6 ) project( sample_project VERSION 0.1 LANGU
浏览 3
提问于2016-10-01
得票数 7
1
回答
为什么导入库.lib比.dll大?
c++
、
windows
、
opencv
、
cmake
、
lib
在生成.dll和相应.lib的cmake项目中,我刚刚注意到.lib大于.dll。那件事怎么可能?.lib不是应该比.dll小得多吗? 调试 .lib (~870KB) and .dll (~700KB) 发布 .lib (~200KB) and .dll (~200KB) CMakeLists.txt cmake_minimum_required(VERSION 3.19.1) project(mylib) set (CMAKE_CXX_STANDARD 14) find_package(OpenCV REQUIRED) include_directories(${OpenCV_IN
浏览 3
提问于2022-04-06
得票数 0
1
回答
如何在cmake中要求只有头的库而不需要二进制文件?
c++
、
cmake
我创建了一个只使用头的库,这个库是用cmake安装的。 add_library(mylib INTERFACE) 出口目标。当我在另一个库(包括头)的cmake文件( find_package(mylib REQUIRED) )中使用target_link_library和target_link_library时,这很好。 但是,当我使用导出的目标和mylib2链接到target_link_library时,生成的VS文件在链接库中包含mylib.lib。 当我在所有三个项目的生成文件中查找字符串mylib.lib时,只有visual studio文件包含这个字符串,没有一个PackageCo
浏览 1
提问于2018-11-16
得票数 1
1
回答
cygwin:在visual studio 2005中不支持lib
c++
、
visual-studio
、
visual-c++
、
cygwin
我已经编译了c++文件,并在windows中使用cygwin将其作为库文件。当我尝试在visual studio 2005 c++中使用该库时。它会产生以下错误。 "Error 1 error LNK2001: unresolved external symbol ___gxx_personality_v0 mylib.lib Error 2 error LNK2019: unresolved external symbol __Unwind_Resume referenced in function _fjfx_create_fmd_from_raw mylib.li
浏览 0
提问于2013-01-28
得票数 0
回答已采纳
1
回答
指定生成子目录CMake的顺序
cmake
我有一个具有以下文件夹结构的项目 / |- build |- MyLib1 | |- source | | |- lib1_s1.cpp | | |- lib2_s2.cpp | |- include | | |- lib1_s1.hpp | | |- lib2_s2.hpp | |- CMakeLists.txt |- app | |- source | | |- app_s1.cpp | | |- app_s2.cpp | |- include | | |- app_s1.hpp | | |- app_s2.hpp
浏览 2
提问于2018-04-17
得票数 4
回答已采纳
1
回答
运行包含库故障的C++文件而没有编译错误(CMake / CLion)
c++
、
cmake
、
clion
我遇到了以下问题:我有一个名为mylib的超级库:如下所示: 我的项目文件夹叫做库..。 mylib.hpp namespace XYZ { #ifndef LIBRARY_MYLIB_HPP #define LIBRARY_MYLIB_HPP int add(int, int); #endif //LIBRARY_MYLIB_HPP } mylib.cpp #include "mylib.hpp" namespace XYZ { int add(int a, int b) { return a + b; } }
浏览 0
提问于2016-11-14
得票数 2
回答已采纳
1
回答
如何在cmake中将libs和dll都添加到项目中?
c++
、
cmake
我们有一个相当大的项目,分为不同的子项目(在visual studio中,这是一个包含多个项目的解决方案)。一些子项目依赖于外部库,该库提供了一组要链接的库。文件夹结构类似于以下内容: root external thing-with-libs inc libs thinger.lib proj1 proj2 proj3 比方说,proj1和proj2都有关于libs的链接。 为此,我们有一个root/external/thing-with-libs/CMakeLists.t
浏览 0
提问于2014-07-30
得票数 1
3
回答
在Visual Studio2010 C++项目中使用MinGW构建的dll
c++
、
visual-studio-2010
、
dll
、
dllimport
、
mingw32
我已经构建了一个dll,现在我想在Microsoft Visual Studio项目中使用此dll。 g++ -O0 -Wall -c -fmessage-length=0 -osrc\MyLib.o ..\src\MyLib.cpp g++ -shared -Wl,--out-implib=MyLib.lib -Wl,--output-def=MyLib.def -oMyLib.dll src\MyLib.o -lwsock32 当我在"gcc工程“中使用它时,这个dll工作得很好。 我尝试了不同的方法来创建".lib“和".def”文件,并尝试通过遵循不同的教程在V
浏览 0
提问于2010-10-13
得票数 3
1
回答
如何使用cmake生成两个二进制文件,一个在fortran中,一个在cxx中
cmake
、
fortran
我有一个库,必须链接到两个主要代码,一个在fortran和on在cxx。 我在src/lib/CMakeLists.txt有这个图书馆 ADD_LIBRARY(mylib a.f90 b.c c.cc) 在src/main/CMakeLists.txt,我有: ADD_EXECUTABLE(mymain1 mymain1.f90) TARGET_LINK_LIBRARIES(mymain1 mylib) ADD_EXECUTABLE(mymain2 mymain2.cc) TARGET_LINK_LIBRARIES(mymain2 mylib) 在编译mymain1时,它使用CXX编译器来链
浏览 5
提问于2017-06-19
得票数 0
回答已采纳
2
回答
MinGW未能将_impl_前缀为导出的函数
mingw
、
cross-compiling
、
dllexport
MinGW应该编译一个共享的C库mylib,其中包含以下函数 declspec(dllexport) int foo(); 该库应在Visual下的C++应用程序中使用。 构建库(在CMake下使用选项GNUtoMS)生成三个文件,即mylib.dll mylib.dll.a mylinb.lib。对后者进行检查, dumpbin /HEADERS mylib.lib 每个导出函数打印一个姿态。上述函数foo的立场包含行 Symbol name : _foo 所以,MinGW做而不是来生成前缀_imp_。预期的是,由于Visual找不到_imp_foo,关联依赖的应用程序失败。 怎么才能把这
浏览 4
提问于2020-01-21
得票数 0
回答已采纳
2
回答
CMake相对链接,可执行文件无法找到共享库。
c++
、
cmake
我正在努力学习CMake,为此,我正在处理一个如下所示的结构示例项目。我正在尝试配置所有CMakeLists.txt文件,以便在make install之后,我可以复制生成的build目录并自由地复制粘贴它,以便其他人能够运行该可执行文件。 问题:运行make install后的 (maxOS 10.14.6 (达尔文18.7.0)),如果我在build中运行可执行文件,一切都会正常工作,但是如果我将构建目录从原来的位置移动到桌面,则可执行文件无法找到共享库。这似乎是因为共享库的路径被定义为绝对路径,而不是相对构建目录的相对路径。 问题:如何构建项目,以便可执行文件找到共享库? 项目结构: m
浏览 3
提问于2020-02-01
得票数 1
11
回答
如何使用CMake将DLL文件复制到与可执行文件相同的文件夹中?
dll
、
cmake
我们使用CMake来生成SVN中源代码的Visual Studio文件。现在,我的工具要求一些DLL文件与可执行文件位于同一文件夹中。DLL文件位于源代码旁边的文件夹中。 如何更改我的CMakeLists.txt,使生成的Visual Studio项目在发布/调试文件夹中已经具有特定的DLL文件,或者在编译时复制它们?
浏览 1
提问于2012-05-20
得票数 115
回答已采纳
2
回答
CMake生成后步骤:根据visual studio配置复制多个文件
c++
、
windows
、
visual-studio-2010
、
cmake
我正在尝试编写一个CMakeLists.txt,它将构建后事件所需的dlls从外部库复制到构建后可执行文件所在的文件夹。我正在使用的操作系统是Win7和VS2010。 有相当多的外部库,所以我不想在CMakeLists.txt中单独列出它们。我目前的解决方案是使用文件全局绑定,并为每个库创建一个构建后事件: FILE(GLOB files "${LIBRARY_DIR}/lib/$(ConfigurationName)/*dll") MESSAGE("FILE LIST IS: ${files}") FOREACH(file ${files}) ADD_
浏览 5
提问于2015-12-26
得票数 3
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
VisualStudio下如何编译和使用最新版本的OpenCV
opencv_contrib扩展模块的安装
使用CMake工具链配置IntelliSense
Visual Studio 2019 整合 GitHub
2019 年 C++ 的发展
热门
标签
更多标签
云服务器
ICP备案
实时音视频
对象存储
云直播
活动推荐
运营活动
广告
关闭
领券