草庐IT

vs-cmake-examples

全部标签

在VS Code Tasks.json上使用基于#{fileExtName}的任务

我一直在尝试使用条件来检查当前打开的文件扩展名称,以便我可以自动使用不同的任务,但没有成功。这是当前的任务。{"version":"0.1.0","isShellCommand":true,"showOutput":"always","suppressTaskName":true,"echoCommand":true,"tasks":[{"taskName":"Buildc++","command":"","isBuildCommand":true,"args":["g++","-o","${fileBasenameNoExtension}","${fileBasename}"]}]}我的目标

c++ - qt creator opencv windows cmake错误

我想配置然后生成opencv库供qtcreator链接它们。我打开cmake3.1.0并输入源代码和构建路径。来源:C:/Users/Philipp_Laptop/Downloads/opencv/sourcesbuild:C:/opencv-mingw然后我用路径配置了mingw-compiler:C:/Qt/Tools/mingw482_32/bin/gcc.exeC:/Qt/Tools/mingw482_32/bin/g++.exe成功配置后,我设置了with_Qt选项。我配置了两次,它显示了以下错误:DetectedversionofGNUGCC:48(408)CMakeWar

c++ - Cmake 和 QT5 - Include 只接受一个参数

来自这个主题:UbuntuCMakewhatpathtoaddtoCMAKE_MODULE_PATH我尝试在我的项目中运行QT5,因为QT4不允许我包含QWebView。按照上述主题的指南,我现在有一个CMakeList.txt:cmake_minimum_required(VERSION2.6FATAL_ERROR)project(simpleTree)find_package(Qt5REQUIREDCOMPONENTSWidgetsCore)find_package(VTKREQUIRED)find_package(PCL1.8.0REQUIRED)include_director

c++ - 导出 cmake-gui 选项

我有一个包含大量不同配置选项的库。我们通常使用cmake-gui配置构建并勾选几个复选框。我想仅使用cmake将其自动生成一个.sh脚本。例如在GUI->选择一堆不同的选项等效的cmake命令->cmake-DCMAKE_XXX=X-DCMAKE_XXY=XXY[这里有一堆选项]..如何找到与我从GUI选择的任意配置“等效”的cmake命令行命令? 最佳答案 解释了缓存变量的等效cmake命令here(-D选项)。注意previousdocumentationwasambiguous,因此请注意始终检查最新版本。基本上:-D:=您还

java - 性能优化 : C++ vs Java not performing as expected

我编写了两个程序来实现一个简单的矩阵乘法算法,一个用C++编写,一个用Java编写。与我的预期相反,Java程序的运行速度比C++程序快大约2.5倍。我是C++的新手,希望就我可以在C++程序中进行哪些更改以使其运行更快提出建议。我的程序从这篇博文中借用了代码和数据http://martin-thoma.com/matrix-multiplication-python-java-cpp.以下是我正在使用的当前编译标志:g++-O3main.ccjavacMain.java以下是当前的编译器/运行时版本:$g++--versiong++.exe(GCC)4.8.1Copyright(C)

c++ - qt 将数据库 sql 添加到从 cmake 导入的项目中

通常情况下,要给qt添加数据库,我们会去.pro文件中添加sql,但是我正在做的项目是从cmake导入的,所以它没有.pro文件。相反,它有一个CMakeLists.txt文件,我想将它连接到一个sqlite数据库。谁能帮我吗。谢谢 最佳答案 将Sql组件添加到find_package()命令和将Qt5::Sql添加到target_link_libraries()命令。搜索类似的东西:find_package(Qt5REQUIREDCOMPONENTSCoreQuickSql)或者像那样:find_package(Qt5SqlREQ

c++ - 清理DLL : _endthreadex() vs TerminateThread()中的线程

由于restrictionsonDllMain(我知道这对DLL中的全局和静态对象构造函数和析构函数同样适用),像带异步文件写入/刷新线程的单例记录器这样的简单事情变得太棘手了。单例记录器位于DLL中,并且对可执行文件的加载和卸载时的影响有限。我可以强制该可执行文件在使用前调用它的DLL初始化函数,因此在初始化函数中,我可以使用关键部分来保护一个变量,该变量告诉DLL是否已经初始化或这次是否需要初始化。通过这种方式避免了DllMain的初始化,这将导致死锁,因为我需要从初始化启动线程,并且线程使用DllMain的原因调用DLL_THREAD_ATTACH,并且获得与我们在DllMain

c++ - 如何在没有外部脚本的情况下链接 CMake 和 SQLite?

我有以下CMakeLists:cmake_minimum_required(VERSION2.8.12.2)project(Tutorial)find_package(sqlite3)if(SQLITE3_FOUND)include_directories(${SQLITE3_INCLUDE_DIRS})target_link_libraries(new${SQLITE3_LIBRARIES})endif(SQLITE3_FOUND)add_executable(Tutorialnew.cpp)但是,当我cmake时,我收到以下消息:CMakeWarningatCMakeLists.t

Pythonlibs3 CMake 和 macOS

[更新2]以下两行,当添加到我的CMake文件中时,成功找到了python3及其库。这仅在终端中起作用的原因是因为CLion使用其捆绑版本的CMake(3.6.3),而我的终端使用的更新版本(3.7.2)正确找到了python。FIND_PACKAGE(PythonInterp3)FIND_PACKAGE(PythonLibs3)[更新]我让cmake文件可以工作,但是,当我从终端运行时它只找到python3库。从CLion运行时,出现以下错误:CMakeError:Thefollowingvariablesareusedinthisproject,buttheyaresettoNOT

CMake 中的 C++ 链接器标志

我正在编译C++程序并收到以下错误消息:undefinedreferenceto'pthread_mutexattr_init'undefinedreferenceto'dlopen'undefinedreferenceto'dlerror'undefinedreferenceto'dlsym'undefinedreferenceto'dlclose'为了解决pthread的错误,我将以下链接器标志添加到我的CMakeLists.txt。if(UNIX)set(CMAKE_CXX_FLAGS"-pthread")endif(UNIX)这解决了pthread错误。为了解决libdl错误,