草庐IT

Makefile

全部标签

c++ - 如果我在 GCC 中编译和链接不需要的库会怎样?

我想这个标题有点令人困惑,但我会尽力澄清我的意思。下面我附上了我的制作文件。正如您在第四行看到的,我正在选择我希望我的项目链接到的所有库。当项目编译时,我看到它正在创建的每个目标文件都与LIBRA行指定的所有库链接。并非我项目中的所有文件都需要所有这些库。每个.cpp文件中可能只有一两次使用。这是否会在编译过程中产生任何额外成本?这会创建更大的二进制文件吗?现代编译器是否足够好以至于这不是问题,还是我必须阅读更多关于编译器的文献?CC=g++CFLAGS=-c-Wall-std=c++11-gLDFLAGS+=-ldlLIBRA=-lboost_system-lboost_filesy

c++ - Qt Creator 在步骤 'make' 编译错误

我刚开始使用QtCreator创建C++GUI程序。我刚刚下载并安装了它,但编译过程抛出了错误。当我尝试编译我的项目时(非常简单,屏幕上只有一个QLabel...这是我的第一个项目)出现错误:qtcreator_ctrlc_stub:Commandlinefailed:C:\Users\andrew\Dropbox\Programming\C++\build-FirstGUIApp-Desktop_Qt_5_1_1_MSVC2012_32bit-Debug\Makefile10:04:35:Theprocess"C:\Users\andrew\Dropbox\Programming\C

c++ - g++ 同时链接静态库和非静态库

我有一个makefile项目,其中包含几个不同的库。其中之一是boost库,我静态链接它以使我的程序可移植。这是我的makefile命令的样子:g++-O0-gtest.cpptestObject.o-pthread-I/home/user/devel/lmx-sdk-4.7.1/include/-L/home/user/devel/lmx-sdk-4.7.1/linux_x64-llmxclient-lrt-ldl-lboost_filesystem-lboost_system-static-static-libgcc-o$@我还将lmx-sdk库链接到我的项目,以便使用许可功能;然

c++ - Makefile:7:目标(在同一规则中多次给出

我不熟悉make系统。当我尝试执行如下程序时,没有问题:./prog.outarg1arg2arg3当我决定使用make时,我将以下脚本添加到makefileparse${parameters}:./prog.out${parameters}当它运作良好时,这很奇怪;makeparseparameters="aaabbbccc"这些字符:'('和')'会产生错误!makeparseparameters="(d,(d,(d,d)))"Makefile:7:target`('givenmorethanonceinthesamerule.Makefile:7:target`d'givenmo

c++ - CMake 找不到 OpenCV 库

与此类似question,我在OSX10.10.3上使用OpenCV和CMake时遇到问题。经过一番折腾,我终于在我的系统上构建了OpenCV3.0beta;header现在驻留在/usr/local/include中,而libs——正如它们应该的那样——位于/usr/local/lib中。我有一些使用OpenCV的小程序,我的CMakeLists.txt看起来像这样set(CMAKE_CXX_FLAGS"-O3-w")find_package(OpenCVREQUIRED)if(OpenCV_FOUND)message("FoundOpenCV")message("Includes:

c++ - make 执行顺序的问题

这是我编写的一个make文件,当前目标是将目录中的所有c++文件转换为目标文件。我的问题是它总是先执行g++,然后再执行任何其他命令。CC=g++CPPFLAGS=`pkg-config--cflags--libsgtkmm-3.0`SRCS=$(wildcardclasses/source/*.cc)PROGS=$(patsubst%.cc,%,$(SRCS))CLASS_HEADERS=classes/all:$(PROGS)mkdir-pbuild/release/objs%:%.cc$(CC)-I$(CLASS_HEADERS)-c$结果:g++-Iclasses/-cclas

【Linux】make和Makefile

目录make和Makefilemake和Makefile我们使用vim编辑器的时候,在一个文件里写完代码要进行编译,要自己输入编译的指令。有没有一种可以进行自动化编译的方法——makefile文件,它可以指定具体的编译操作,写好makefile文件,只要一个make指令,就能够对源文件进行自动化编译。makefile与Makefile两种写法都可以makefile是文件,make是指令先创建一个makefile文件,然后进行编写目标文件与依赖文件列表组成依赖关系,依赖方法是具有要执行的操作。依赖文件列表可以不止一个文件。保存退出,make指令完成编译工作,mybin就是可执行程序当再次输入ma

c++ - (makefile 错误)RTNETLINK 回答 : File exists

这是我的生成文件:delay:tcqdiscadddeveth0rootnetemdelay0mstest4_s_delay:delay./a.out10101231120|teeserver_delay.txt但是,我在执行makefile时遇到以下错误:root@superwii-laptop:/home/superwii/Desktop/Amogh#maketest4_s_delaytcqdiscadddeveth0rootnetemdelay0msRTNETLINKanswers:Fileexistsmake:***[delay]Error2我无法克服这个错误。请帮忙。

c++ - 设置基本的多平台启用 cmake 的项目时需要帮助

tl;dr问题在底部。我是一名尝试新事物的开发人员-我的最后一毒是C++。由于我一半时间花在我的linux笔记本电脑上,另一半时间花在WinXPPC上,我试图找到一种方法来创建基本的准系统项目,使用良好的c++实践(好吧,我从经验中不知道它们,我刚刚读到它们)。现在我的项目在使用cmake时几乎可以正常工作。&&make在linux上(当头文件和源文件位于同一文件夹中时它有效,当我将它们分开以包含/src文件夹时失败)。我在Windows上使用nuwen的mingw发行版(我知道工具链正在运行,它从Eclipse中编译项目没有任何问题)。我的项目目录如下所示:engine||-main

c++ - GNU make 一种双冒号

我在理解以下gmake语法时遇到了一些问题:OBJ=foo.obar.o$(OBJ):%.o:%.cpp$(CC)-c-MMD-MP$(INCLUDES)$(CFLAGS)$我不确定$(...):%.o:%.cpp是做什么的!?我认为它可能会在正确的%.cpp依赖项中翻译“%.o:%.cpp”——是吗?谷歌在这里帮不上什么忙——它只找到通常的双冒号(target::),这是不同的!有什么建议吗?谢谢! 最佳答案 这是一个staticpatternrule.$(OBJ)是一个目标列表。%.o:%.cpp表示“对于列表中匹配%.o的每个