我试图在Ubuntu上使用make命令构建一个库,我收到此错误消息:
In file included from /usr/include/c++/4.7/cstdint:35:0,
from /home/mohammad/face-analysis-sdk-stable/src/utils/helpers.hpp:26,
from /home/mohammad/face-analysis-sdk-stable/src/utils/command-line-arguments.cpp:21:
/usr/include/c++/4.7/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
make[2]: *** [src/utils/CMakeFiles/utilities.dir/command-line-arguments.cpp.o] Error 1
make[1]: *** [src/utils/CMakeFiles/utilities.dir/all] Error 2
make: *** [all] Error 2
Run Code Online (Sandbox Code Playgroud)
我知道我需要在某处添加C++ 11标志,但我之前从未使用过make文件,我查看了make文件,我找不到应该在哪里添加它.我找不到任何关于g ++,或编译标志或任何东西的提及.
以下是make文件的一部分,请你指点小麦我应该编辑吗?
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 2.8
# Default target …Run Code Online (Sandbox Code Playgroud) 我目前正在尝试在我的机器上安装GCC-4.1.2:Fedora 20.
在指令中,前三个命令涉及使用'sed'命令,用于Makefile修改.但是,我很难在我的案例中正确使用这些命令.GCC-4.1.2 的网站链接
命令是:
sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in &&
sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in &&
sed -i 's/@have_mktemp_command@/yes/' gcc/gccbug.in &&
Run Code Online (Sandbox Code Playgroud)
我试图通过阅读'sed'手册页来了解它们,但这样做并不容易.任何帮助/提示将不胜感激!
已知MinGW下的GNU Make在某些情况下会非常慢,因为它执行隐式规则以及Windows如何公开文件信息(每个" MinGW"make"启动非常慢 ").
我在互联网上发现的上一个问题和所有其他资源问题建议通过完全使用-r标志禁用隐式规则来解决问题.但还有另一种方式吗?
我有一个依赖它们的"可移植"Makefile,我想这样做每次启动它都不需要花一分钟时间,而不是让Makefile所有者为我改变它.
在 Makefiles GCC C 程序中,什么是 .d 文件,什么是通配符。?
Rgds,
在另一个问题中有人要求发布makefile.这些位于何处?或者我怎样才能找到我的文件,以便发布它们?
我是makefiles的新手.我创建了以下makefile:
CC=g++
DEBUG= -g
CFLAGS=-c -Wall -std=c++11 $(DEBUG)
all: hello
hello: ConsoleApplication1.o clock.o communication.o device_manager.o devices.o
$(CC) ConsoleApplication1.o clock.o communication.o device_manager.o devices.o
ConsoleApplication1.o: ConsoleApplication1.cpp
$(CC) $(CFGLAS) ConsoleApplication1.cpp
clock.o: clock.cpp clock.h
$(CC) $(CFGLAS) clock.cpp
communication.o: communication.cpp
$(CC) $(CFGLAS) communication.cpp
device_manager.o: device_manager.cpp
$(CC) $(CFGLAS) device_manager.cpp
devices.o: devices.cpp
$(CC) $(CFGLAS) devices.cpp
clean:
rm -rf *.o hello
Run Code Online (Sandbox Code Playgroud)
我将makefile放在所有代码文件的目录中,并从命令行运行命令"make".
我遇到了很多错误:
ConsoleApplication1.cpp:494:30:错误:'chrono'不是'std'mytime :: duration_timer_t计时器的成员; ^ ConsoleApplication1.cpp:494:30:错误:'chrono'不是'std'的成员ConsoleApplication1.cpp:494:55:错误:模板参数1无效mytime :: duration_timer_t timer; ^ ConsoleApplication1.cpp:494:65:错误:';'之前的声明中的类型无效 token mytime :: duration_timer_t timer; ^ ConsoleApplication1.cpp:495:11:错误:在'timer'中请求成员'set_duration',这是非类型'int'timer.set_duration(std :: chrono :: seconds(120)); ^ ConsoleApplication1.cpp:495:29:错误:'std :: chrono'尚未声明为timer.set_duration(std …
我正在寻找在Makefile中插入的命令,以便在编译后直接启动程序.我无法在GNU GCC网站上找到它.
有谁知道我的Makefile有什么问题?
CXX = g++ # compiler
CXXFLAGS = -g -Wall -MMD # compiler flags
MAKEFILE_NAME = ${firstword ${MAKEFILE_LIST}} # makefile name
OBJECTS1 = utf.o # object files forming executable
EXEC1 = utf # executable name
OBJECTS2 = driver.o rational.o # object files forming executable
EXEC2 = rational # executable name
OBJECTS3 = da.o qa.o pa.o ua.o # object files forming executable
EXEC3 = ho # executable name
OBJECTS = ${OBJECTS1} ${OBJECTS2} ${OBJECTS3}
EXECS = ${EXEC1} ${EXEC2} ${EXEC3}
DEPENDS = ${OBJECTS:.o=.d} …Run Code Online (Sandbox Code Playgroud) 在我的make文件中,我尝试将我的可执行文件移动到另一个版本目录,然后运行该程序但是当我从make文件运行程序时遇到一些问题
mv main ../Data/Derived/Release;
./Data/Derived/Release/main
Run Code Online (Sandbox Code Playgroud)
我收到了command not found错误.
当我转到发布文件夹并运行./main命令行时,它按预期工作.我不确定我在这里缺少什么.