首页 文章
  • 0 votes
     answers
     views

    制作共享对象时不能使用;用-fPIC重新编译

    我尝试安装库但运行make后出现以下错误 . 如何用旗帜重新编译? make目标pwrutils的扫描依赖关系链接CXX共享库libpwrutils.so / usr / bin / ld:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu /libboost_system.a(error_code.o):在创建共享对象时,不能...
  • 3 votes
     answers
     views

    为什么在创建特定于x86_64的共享对象时“无法使用R_X86_64_32”的CMake解决方案?

    我为我的新玩具编译一些插件时遇到了这个错误(在Linux上的gcc / g上): 重命名R_X86_64_32在制作共享对象时不能使用;用-fPIC重新编译 我基本上理解why PIC is needed但是,在CMake系统中,solution seems to be this: IF (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") ...
  • 9 votes
     answers
     views

    更新到Xcode 7.0后CMake损坏

    我在Mac上使用QtCreator和CMake进行c开发,在更新到Xcode 7.0后,CMake似乎坏了,运行CMake后我得到了这个警告: /usr/local/Cellar/cmake/HEAD/share/cmake/Modules/Platform/Darwin-Initialize.cmake:128中的CMake警告(消息):忽略CMAKE_OSX_SYSROOT值:/Applic...
  • 1 votes
     answers
     views

    使用CLion,如何将可执行文件安装到只能由root写入的目录中?

    我正在macOS High Sierra上与CLion Build 一个C项目 . 我的 CMakeLists.txt 看起来像这样: cmake_minimum_required(VERSION 3.10) project(toy C) set(CMAKE_C_STANDARD 11) add_executable(toy main.c) target_compile_options(toy...
  • 0 votes
     answers
     views

    Qt Creator MSVC套件没有活动运行配置

    我刚刚安装了Microsoft Visual Studio Build Tools 2017(MSVC 2017),之后安装了Qt社区版5.9.5 . 当使用Qt Creator IDE创建一个新项目时,我选择Non-Qt Project,普通C应用程序,我使用CMake Build System然后当被要求使用Kit时我选择“Desktop Qt 5.9.5 MSV2017 64bit” . ...
  • 26 votes
     answers
     views

    使用CMake链接来自静态库的Windows DLL文件,而无需手工制作未解析的符号名称

    情况 我想在Visual Studio中寻找一种解决方法,我认为这是一个非常无益的“limitation” . 我发现Visual Studio链接器和编译器在DLL文件创建时没有这样做,以_1177204_和a StackOverflow comment中给出的相同方式自动扫描所有导出符号的所有指定静态库,我感到非常惊讶 . 我确认仅将 __declspec(dllexport) 和 __dec...
  • 1 votes
     answers
     views

    如何将静态类实例正确导入DLL,跨平台?

    我有一个共享库(Linux中的.so,Windows中的.dll)需要访问包含在其加载的任何可执行文件中的静态变量 . 此变量恰好是类模板类型,并且在命名空间内 . 尽管将变量声明为"extern"(并且在Windows上,"__declspec(dllimport)"),VC10会为此变量 when the DLL is linked 提供"un...
  • 1 votes
     answers
     views

    使用cmake为vxworks构建OPCUA

    我正在为vxworks 6.6构建OPCUA . 我得到了一个信息 http://forum.unified-automation.com/post2724.html#p2724 下面提到“使用vxWorks CMake工具链文件为Eclipse CDT4创建一个新的CMake项目 - Unix Makefiles” . 这里的作者是什么意思“vxWorks CMake toolchainfil...
  • 305 votes
     answers
     views

    寻找'cmake clean'命令来清除CMake输出

    就像 make clean 删除了makefile生成的所有文件一样,我想对CMake做同样的事情 . 我经常发现自己手动浏览目录,删除 cmake_install.cmake 和 CMakeCache.txt 以及 CMakeFiles 文件夹等文件 . 是否有像 cmake clean 这样的命令自动删除所有这些文件?理想情况下,这应该遵循当前目录的 CMakeLists.txt 文件中定义的...
  • 5 votes
     answers
     views

    CMake顶级项目,包含多个子项目创建包

    我有多个CMake项目,每个项目都创建一个debian包 . 我一直在尝试创建一个顶级项目,在每个'子'项目上调用add_subdirectory() . 所有子项目都会构建,但“make project”会创建一个包含最后一个子项目规范的项目,并包含来自所有其他项目的文件 . 基本上,每个集合(CPACK _...)都被下一个项目覆盖,直到最后一个项目和'install()'调用被累积 . 如何...
  • 1 votes
     answers
     views

    CUDA使用CMake在x86中构建

    (Windows 10,Cuda 8.0,VS 2015,CMake 3.7.0 我在使用CUDA内核构建库时遇到问题 . 我的项目有一个顶级的CMakeLists.txt,其中包含一个子CMakeLists.txt . 在顶层: cmake_minimum_required(VERSION 3.0) project (robot) find_package(CUDA REQUIRED) #......
  • 0 votes
     answers
     views

    CMakeLists没有生成这样的文件

    以下是我的CMakeLists.txt文件 cmake_minimum_required(VERSION 3.4.1)add_library(native-lib SHARED src / main / cpp / native-lib.cpp)find_library(log-lib log)target_link_libraries(native-lib $ ) 我在 add_librar...
  • 1 votes
     answers
     views

    无法从ndk加载本机库

    我正在尝试按照文档CMakeList.txt中给出的步骤添加预构建的库: add_library(mylib SHARED IMPORTED) set_target_properties(mylib PROPERTIES IMPORTED_LOCATION $ libpath) target_link_libraries(native-activity android mylib log) 但我收...
  • 1 votes
     answers
     views

    'undefined reference to'使用Android Studio NDK的功能

    我有3个类,native-lib.cpp,tracker.cpp和tracker.hpp,但是,如果我在navtive-lib.cpp中使用tracker.cpp中的isTracking函数,我在构建期间会出错 . 出了什么问题:任务':app:externalNativeBuildDebug'的执行失败 . 构建命令失败 . 使用参数执行进程/home/user/Android/Sdk/c...
  • 4 votes
     answers
     views

    更新后NDK Build未生成

    我已将Android Studio更新为最新更新,从那时起NDK就出现了错误 . 在更新之前,一切都在顺利建设 . 我不知道错误 . 如果有人可以帮忙 . 谢谢 . 构建命令失败 . 执行进程时出错/Users/blabla/Library/Android/sdk/cmake/3.6.4111459/bin/cmake with arguments {--build /Users/blabla/...
  • 198 votes
     answers
     views

    在GNU Make中使用CMake:如何查看确切的命令?

    我使用CMake与GNU Make,并希望完全看到所有命令(例如编译器如何执行,所有标志等) . GNU make有 --debug ,但它似乎没有任何其他选项有用吗? CMake是否在生成的Makefile中提供了额外的标志以进行调试?
  • 111 votes
     answers
     views

    在CMake中,如何测试编译器是否为Clang?

    我们有一组cross-platform CMake build scripts,我们支持使用Visual C++和GCC构建 . 我们正在尝试Clang,但我无法弄清楚如何测试编译器是否与我们的CMake脚本一起使用 . 我应该测试什么来查看编译器是否是Clang?我们目前正在使用MSVC和CMAKE_COMPILER_IS_GNU<LANG>分别测试Visual C和GCC .
  • 308 votes
     answers
     views

    如何在CMake中激活C 11?

    当我尝试运行CMake生成的makefile来编译我的程序时,我得到了错误 C 98模式不支持>基于范围的循环 . 我尝试将 add_definitions(-std=c++0x) 添加到我的 CMakeLists.txt ,但它没有帮助 . 我也试过这个: if(CMAKE_COMPILER_IS_GNUCXX) add_definitions(-std=gnu++0x) endi...
  • 3 votes
     answers
     views

    对于Cmake,您可以使用`add_compiler_flags()`命令修改发布/调试编译器标志吗?

    在 add_compile_options() 的手册页中,我没有看到如何修改Release / Debug编译器标志 . Can you use add_compiler_options() to modify the Release/Debug compiler flags? If yes, how? If no, is the recommended canonical method t...
  • 3 votes
     answers
     views

    如何通过CMake查找特定/本地文件

    我有一个本地安装的库的问题 . 在我的项目中有xmlrpc 0.7库: myproject/ +-- xmlrpc++0.7/ +-- src/ 如果没有找到,我希望CMake使用本地xmlrpc 0.7目录进行回退 . 两个问题,第一个,find_path()或find_library()不适用于本地目录 . 我使用了一种变通方法来测试find_xxx()处理的变量是否为空 . ...
  • 9 votes
     answers
     views

    CMake链接错误(未定义引用)

    我正在使用SSL-Vision软件 . 它有一个示例客户端,我一直试图从整个项目中分离出来 . 我找到了自己编辑客户端所需的资源,所以我只是从软件中复制它们并使用CMake构建我的客户端 . 下面的项目结构已经简化,缩小了问题(我相信!) . . ├── CMakeLists.txt ├── main.cc ├── build │ ├── CMakeLists.txt │ └── mes...
  • 3 votes
     answers
     views

    CMake工具链包含多个文件

    由于无关的原因,我希望能够将多个文件包含到工具链文件中 . 假设我的工具链包含以下内容: message(STATUS "file1 is ok") include(./build/file2) file2包含标识行: message(STATUS "file2 is ok") CMakeLists.txt包含: cmake_minimum_requir...
  • 2 votes
     answers
     views

    CMake Visual Studio项目依赖项

    我的解决方案包含一个静态库和一个使用它的控制台应用程序 . 该解决方案是从CMakeLists.txt文件生成的(顶级文件和每个项目的两个文件)我知道CMake中的项目依赖项是通过更改add_subdirectory()顺序来管理的 . 但是,它对我不起作用 提供完整的顶级文件 cmake_minimum_required(VERSION 2.8) project(vtun CXX) set(TA...
  • 0 votes
     answers
     views

    使用外部库poco CMake未定义的符号

    使用poco库构建项目时,我收到以下错误: /Applications/CLion.app/Contents/bin/cmake/bin/cmake --build /Users/alan/Library/Caches/clion11/cmake/generated/12b7e3f2/12b7e3f2/Debug --target csvreader -- -j 2 [ 50%] Link...
  • 1 votes
     answers
     views

    如何在CMAKE的OSX包中包含库

    我试图用Clion和Cmake构建一个OSX包,目前库正确链接我没有预编译错误但是当我构建并尝试运行程序时,我得到以下错误 dyld: Library not loaded: libxl.dylib Referenced from: /path/to/executable/ Reason: image not found 我在这个问题上搜索过,似乎找不到明确的解决方...
  • 1 votes
     answers
     views

    CMAKE基于其他静态库生成静态库并将它们打包在一起

    我有一个项目有以下结构 . aaa和bbb是2个子目录,并被编译成静态库 . 还有一个级别(文件夹)还有另一个项目ccc,它也被编译成静态库,libccc.a是我想要的最终静态库 . 在libccc.a中,我希望它包括项目ccc和aaa bbb . 我试图改变ccc的CMakelist.txt中的链接标志,但似乎无法正常工作 . 我想我使用的是错误的旗帜 . 我原来用于ccc的cmakelist...
  • 0 votes
     answers
     views

    如何在几个cmake项目之间共享目标(DLL)?

    我正在将构建系统从仅使用Visual Studio迁移到cmake . Visual Studio仍然是主要IDE,但Linux是辅助构建目标平台 . 我有许多应用程序之间共享的大量cmake目标(DLL) . 例如,应用程序A可能链接DLL1,DLL2和DLL3,而应用程序B链接DLL1,DLL2和DLL4 . 所有DLL可能依赖于其他DLL,例如DLL1可能链接DLL2 . 实际上,DLL的...
  • 18 votes
     answers
     views

    CMake include_directories和add_subdirectory之间的区别?

    我正在学习构建C代码的CMake,并努力学习以下概念 . 在我的根目录目录中,我有一些cpp文件和一个CMakeLists.txt,它可以在gen-cpp目录中成功生成一些thrift代码 . 我的根级别CMakeLists.txt包含: include_directories( “路径到根”/ GEN-CPP) . (以及相关的节俭自动生成和包括 . 一切编译好,但我得到运行时动态库链接错误的...
  • 2 votes
     answers
     views

    CMake Visual Studio外部项目发布/调试

    我正在使用CMake构建一个跨平台(例如Linux / Windows)应用程序,该应用程序还使用第三方库作为外部项目 . 我知道MSVC是一个多配置环境,因此不使用CMAKE_BUILD_TYPE,而是使用CMAKE_CONFIGURATION_TYPES集来构建每个可能的配置 . 我也知道不是在配置类型上提供配置(例如cmake -DCMAKE_BUILD_TYPE ..),而是需要在构建类型...
  • 0 votes
     answers
     views

    将cmake与eclipse集成时缺少Source和include文件夹

    我是CMake的新手,我正在尝试使用Eclipse集成CMake . 下面是我的文件结构示例 . 项目 build / linux build / linux / Release(应包含发布库和文件) build / linux / Debug(应该包含文件的调试版本) SRC subProject_1.cpp(所有源文件)和CMakeLists.txt 1用于此文件夹(创建静...

热门问题