草庐IT

CMAKE_C_COMPILER

全部标签

C++ 模块 TS 和 CMake

我对C++模块TS很好奇。我对Clang的实现进行了一些尝试。一次只有一个或两个左右的文件。现在我想尝试比这更大的东西。我想使用CMake。有人知道是否有一些好的方法可以将Clang模块实现与CMake一起使用,或者是否已经有一些CMake模块可以帮助我解决这个问题?我真的很想知道。否则我必须考虑使用不同的构建系统。 最佳答案 我建议你试试build2:https://build2.org/build2/doc/build2-build-system-manual.xhtml#cxx-modules它支持VisualStudio、g

c++ - CMake:如何确定可执行文件所需的所有 .DLL/.SO 文件?

假设我的程序需要多个DLL才能运行。我应该在我的发行版中向用户提供该DLL。现在我需要QtCore4.DLL、QtGui4.DLL、msvcp90.DLL、msvcr90.DLL、mylib.DLL、Kernel32.DLL...如果CMake可以获得DLL(或.SO)文件的完整列表,那就太好了。然后我会从该列表中删除诸如“Kernel32.DLL”之类的项目,并将DLL复制到我的分发版中。我不能保证下一个构建将在相同版本的VisualStudio上完成,因此硬编码路径如“C:\ProgramFiles\MicrosoftVisualStudio9.0\VC\redist\x86\Mi

使用RCPP和CMAKE安装R软件包时,请使用另一个编译器

我在做什么我正在开发带有RCPP和CMAKE的C++代码的R接口/软件包。因为openmp和c++11应该支持,因此我偏爱编译器。问题我知道我总是可以将makevars放在下面~/.R(UNIX)在安装软件包时更改编译器R的使用。但是作为开发人员,不建议这样做。建议使用configure档案做到这一点。但是,我不太知道如何实现这一目标,因为我在写作configure我自己申请并打电话cmake在我的里面configure。我不知道该写什么configure文件以搜索特定的编译器。希望描述很清楚。谢谢你。我附上了我的configure下面的文件内容。```set-xset-ewhichcmake

c++ - 如何使用 CMake 在调试器中将 follow-fork-mode 设置为子模式

我有Linux系统,我使用ClionIDE编写程序,其中使用CMake。我在程序中有一部分想要调试子进程我从这个论坛上读了一些主题,但我仍然不知道如何或在哪里可以打开此功能:gdbdebuggingchildprocessafterfork(follow-fork-modechildconfigured)HowdoIdebugthechildprocessafterfork()ingdb?我刚刚尝试将标志CMAKE_CXX_FLAGS_DEBUG设置为setfollow-fork-modechild但CMake给我错误。下面的屏幕截图包含用于编译和调试我的程序的所有标志。那么我必须在什

CMake Error at CMakeLists.txt:3 (project): No CMAKE_CXX_COMPILER could be found. flutter desktop

在学习flutter的过程中,本人build一个windowdesk桌面应用,发现出现如下错误: CMakeErroratCMakeLists.txt:3(project):NoCMAKE_CXX_COMPILERcouldbefound.flutterdesktop,在StackOverflow搜索到如下方案:打开vsinstaller,然后点击【修改】,出现上图,在右边的installationdetails里面找到windowssdk的选项,全部勾选下载安装,然后flutterclean再重新build即可。

c++ - CMake 不生成 compile_commands.json

我是CMake的新手,我正在尝试创建compile_commands.json文件以与clang一起使用,但我在生成文件时遇到了一些困难,我不确定为什么。我已经能够使用cmake编译我在下面的二进制person,但在成功之后我无法让它输出编译命令。我也尝试过使用-DCMAKE_EXPORT_COMPILE_COMMANDS=ON标志,但这也没有用。到目前为止没有错误,但也没有输出。这是我的CMakeLists.txt文件的样子:cmake_minimum_required(VERSION2.6)project(Tutorial)set(CMAKE_EXPORT_COMPILE_COMM

c++ - 无法使用 CMake 找到 Eigen3

我有点绝望:对于我的学习,我需要使用Eigen和CMake。如果我将整个库复制到我的编译器默认查找的目录中,但只要我尝试通过找到它,我就可以使用Eigenfind_package(需要Eigen3)我收到以下错误:CMakeErrorat/usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:148(message):CouldNOTfindEigen3(missing:EIGEN3_INCLUDE_DIREIGEN3_VERSION_OK)(Requiredisatleastversion"2.91.0")CallSt

c++ - 更改 CMAKE_CXX_FLAGS_DEBUG 和 CMake 中的 friend 的默认值

我想在CMake中更改CMAKE_CXX_FLAGS_RELEASE或CMAKE_CXX_FLAGS_DEBUG的默认值。基本上,我有一些项目默认值与CMake的默认值略有不同(例如,发布),我不必问自己“哦,当添加add_compile_options时,他们的-O3或我们的-O2是否优先。”现在,我知道如何设置这些值,但我不知道如何通过两种常用方式让用户可以编辑它们:通过在命令行上使用-DCMAKE_CXX_FLAGS_DEBUG=yourflags或通过使用ccmake或CMakeSetup配置它。问题是CMAKE为这些设置和缓存了自己的默认值,如果您尝试在不使用FORCE的情况

c++ - 使用 visual studio 创建一个 cmake 项目

VisualStudio2017为处理CMake项目提供内置支持。Thedocumentation主要涵盖基于预先存在的cmake项目的场景。但是是否支持创建cmake项目而无需摆弄CMakeLists.txt文件? 最佳答案 编辑:VS201715.6添加了官方新项目CMake向导与version15.6出现了“从添加新项目对话框创建CMake项目”的功能。这创建了一个简单的ninja基于C++“HelloCMake”项目。自定义CMake向导您的问题和现有向导的缺乏激发了我编写一个向导的灵感。这是一个非常基本的设置,如果在编写V

c++ - constexpr 和 CRTP : compiler disagreement

当使用CRTP实现表达式模板时,位于表达式层次结构顶部的类使用基到派生的向下转型来实现它的一些操作。根据clang-3.5(-std=c++1y),这种向下转换在constexpr函数中应该是非法的:test.cpp:42:16:error:static_assertexpressionisnotanintegralconstantexpressionstatic_assert(e()==0,"");^~~~~~~~test.cpp:11:26:note:cannotcastobjectofdynamictype'constbase'totype'constderived'constn