76得票10回答
如何加速使用大量模板时的g++编译时间

这个问题可能有点奇怪,但是我该如何加速g++编译时间?我的C ++代码大量使用boost和模板。我已经尽可能将头文件中的内容移到其他地方,并使用-j选项,但编译(和链接)仍然需要相当长的时间。 是否有任何工具可以分析我的代码并指出编译器的瓶颈?或者可以以某种方式对运行在我的代码上的编译器进行...

76得票1回答
从g++中导出包含路径

我想编写一个小型的构建脚本,希望确定包含文件是否为系统包含文件。因此,我想让 g++ 告诉我它正在使用哪些包含路径。 cpp -v 似乎是最好的选择,但它并没有给出 C++ 路径。 所以我尝试了:g++ -Xpreprocessor -v 这并不完全有效 - g++会将-v用于自己的详细输出。

75得票4回答
使用malloc时出现"invalid conversion from `void*' to `char*'"的无效转换?

我遇到了以下代码的问题,错误出现在第5行: 错误:从void*转换为char*是无效的 我正在使用codeblocks的g++,并尝试将此文件编译为cpp文件。这有关系吗?#include <openssl/crypto.h> int main() { char...

75得票2回答
g++ 链接器:如果静态库存在,强制使用静态链接?

我有一个程序连接了许多库。默认情况下,g++ 偏好于链接共享库,即使对应的存档文件存在也是如此。 如果静态存档存在,我该如何更改这个偏好以优先链接静态存档而不是动态库? 注意,我已经使用了 -static 选项,但它尝试为所有库查找静态存档,这不是我想要的。

73得票4回答
"g++"和"c++"编译器

我刚刚在我的Ubuntu操作系统上发现了两个不同的C++编译器: /usr/bin/g++ 和 /usr/bin/c++。我不熟悉后者,但是输入man c++命令只会跳转到gcc的手册页。我想知道这两个编译器在C++编译方面有什么区别?

73得票2回答
获得一堆交叉初始化错误

我有一段代码片段,是从一个下载的示例中获取的:bool ChatServer::event(QEvent * event) { if(event->type() == QEvent::User) { UserEvent * ue = static_cast...

72得票12回答
GCC C++ 链接错误:未定义对 'XXX 的虚表, 未定义对 'ClassName::ClassName()' 的引用。

我正在Ubuntu x64上用Eclipse-CDT设置一个C++项目,基本上是在做hello world并链接到一个商业第三方库。 我已经包含了头文件,链接到他们的库,但我仍然遇到链接错误。除了显而易见的问题(例如,我99%确定我正在链接到正确的库之外),这里还有可能出现的其他问题吗? ...

71得票1回答
命令行中缺少DSO

我正在尝试编译一个像这样的C++程序:$ g++ -o Sniffer_Train main.cpp Sniffer_train.cpp Sniffer_train.h -lmysqlclient -lpcap 但是我遇到了以下错误:/usr/bin/ld: /tmp/cct6xeXD.o: ...

71得票3回答
奇怪的代码可以用g++编译

以下代码使用 g++ 4.8.1 可以成功编译:int main() { int(*)(); } 看起来这是一个指向函数的简单声明:int(*f)(); 使用clang 3.4和vc++2013编译无法通过。 是编译器bug还是标准的黑暗角落之一? 类似的奇怪代码列表,使用g++ 4...

69得票11回答
如何将编译器的所有输出内容保存到文件中?

我在Linux中从源代码构建一个开源项目(CPP)。以下是步骤:$CFLAGS="-g Wall" CXXFLAGS="-g Wall" ../trunk/configure --prefix=/somepath/ --host=i386-pc --target=i386-pc $make 编...