我正在使用Eigen库,它promise对矩阵运算进行矢量化。我不知道如何使用Eigen中给出的文件并编写makefile。使用Eigen的源文件包括下面列出的文件,这些甚至不是头文件(它们只是一些文本文件)-等等。在Eigen的网页上,提到为了使用它的功能,我不必构建项目,那么如何将这些文件包含在我的makefile中来构建我的项目。我的示例main.c文件如下所示。谁能告诉我如何为这个文件编写makefile生成文件-#include//importmostcommonEigentypesUSING_PART_OF_NAMESPACE_EIGENintmain(int,char*[
实际上我有一个库“cryptopp”,我想要的是当我对文件进行任何更改并发出make命令时,它应该处理在任何文件中所做的更改源目录。好吧,cryptoopp的GNUMakefile会处理在“.cpp”文件中所做的“if”更改,但不会处理在“.h”文件中所做的更改。那么我可以在cryptopp的“GNUMakefile”中进行哪些更改,以便它查看所有修改后的头文件并重新编译依赖于“修改后”头文件的所有文件。 最佳答案 如果您使用g++构建,您可以让g++生成依赖性makefile。您可以将这些包含在您的主makefile中。使用-M和
我目前正在尝试构建一个合适的Makefile。我想要的是完全控制正在发生的事情,所以我不想要任何第三方软件。我目前的尝试对我来说似乎是合乎逻辑的,但由于依赖项生成无效,我有点卡住了。为了更好的可读性,完整的Makefile被分成了小块。如果有任何需要改进的地方,我将不胜感激。首先,我有以下静态定义CXX=g++CXXFLAGS=-Wall\-Wextra\-Wuninitialized\-Wmissing-declarations\-pedantic\-O3\-p-g-pgLDFLAGS=-p-g-pgDEPFLAGS=-MMAfaik这应该没问题。将分析标志设为可选是完美的,但这并不
我正在尝试使用makefile为我正在开发的C++插件设置构建过程。我很想知道是否有任何方法可以让g++编译在另一个目录中找到的source文件。我这样做的动机是避免为每个源文件指定相对路径,正如我在下面解释的那样。我的项目目录结构如下:MyPlugin-->src-->Foo.cpp-->Foo.h-->Bar.cpp-->Bar.cpp-->build-->Makefile以下是我当前Makefile的精简版本:SRC_PATH=../srcOUT_PATH=../binVPATH=${SRC_PATH}FILES=Foo.cppBar.cppCC=g++CFLAGS=-Wall-
我一直在使用ClionIDE并试图获得一个简单的GTK程序来使用它进行编译。我发现Clion使用CMake,所以问题出在这里而不是IDE本身。我能够直接从终端成功编译和运行程序,但使用CMake却没有成功。问题很简单:当我尝试编译时,编译器找不到位于/usr/include/gtk-3.0/gtk/gtk.h中的gtk.h。我发现命令编译器参数'pkg-config--libs--cflagsgtk+-3.0'以某种方式修复了这个问题,但我无法使用CMake添加这个参数。我试过:set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS}`pkg-config--lib
假设我在Makefile中有以下规则。test.o:test.cppfoo.hg++-c-otest.otest.cpp现在假设foo.h包含bar.h,如下所示。user$head-n5foo.h#include"bar.h"/*..*/user$如果bar.h有任何变化,是否会重新构建test.o?或者我应该在规则中特别提到bar.h如下:test.o:test.cppfoo.hbar.hg++-c-otest.otest.cpp 最佳答案 Willthetest.obebuiltagainifthereareanychange
我的程序有一个makefile,但每次运行它时我都会重新编译所有内容,即使我没有修改任何内容。每次我运行make它都会重新编译simHwIntf.cppshowHelp.cpp和sendFromFile.cpp这是我的制作文件:IDIR=incLDIR=-L/usr/lib/x86_64-linux-gnu/SDIR=srcODIR=objBINDIR=binLDLIBS=-luhdOBJ=$(patsubst%,$(ODIR)/%,$(O_FILES))CC=g++CFLAGS=-Wall-std=c++11-I$(IDIR)#-WerrorBINARIES=mainC_FILES=
我在Unix环境下,使用C++工作。我从一个目录中打开gvim,该目录中存在一个名为“Makefile”的生成文件。当我尝试在vim中使用":make"时,我得到:外壳返回2(1of1):make:***未指定目标且未找到makefile。停止。 最佳答案 你有autochdir吗启用?那可能会更改到另一个目录。检查:pwd以查看当前目录是否是您所期望的。尝试运行:!ls以查看Makefile是否存在。 关于c++-gvim:makecommanddoesnotwork,我们在Stack
我正在尝试让MinGW(版本4.7.2)与VisualStudio2010一起使用,以使用一些新的C++11功能(遗憾的是我仍在使用WindowsXP,无法使用VisualStudio2012)。首先,我创建了一个项目:文件->新建项目->VisualC++->常规->Makefile-ProjectGeneral:BuildCommandLine:mingw32-make.exeRebuildAllCommandLine:mingw32-make.exerebuildallCleanCommandLine:mingw32-make.execleanallIntelliSense:In
我有一个适度的C++项目。我正在尝试为此使用autotools,但发现它非常复杂。关于何时使用自动工具以及何时可以不用它的准则是什么?什么是(简单的)替代方案?我想使用autotools的主要原因是它完整的makeinstall支持。有更简单的选择吗?理想情况下,我想要EclipseCDT支持的东西。 最佳答案 对于makeinstall支持,您只需要automake。一个简单的Makefile.am文件很容易制作:LIBS+=-lsome-lib-lsome_other_libbin_PROGRAMS=hellonoinst_HE