g++相关内容
我知道这表明存在链接器问题,主要是未解析的符号.我知道要解决该问题/摆脱该错误消息,必须提供更多信息.我知道在 SO 上解决这个问题有很多问题. 我的问题旨在帮助理解 make 和 ld,找出什么(和谁)试图用这条线表达什么. collect2: ld 返回 1 个退出状态 “collect2:"是什么意思?它是一个步骤 make 调用吗?我在我的系统上找不到具有该名称的可执行文件.
..
假设我有 fileA.h,它使用模板函数 SomeFunc() 声明了一个类 classA.该函数直接在头文件中实现(与模板函数一样).现在我在 fileA.C (即不在头文件). 如果我现在从其他代码(可能也来自其他库)调用 SomeFunc(),它会调用通用版本还是专业化版本? 我现在有这个问题,类和函数存在于一个库中,由两个应用程序使用.一个应用程序正确地使用了专
..
我终于绝望了.因此,在我的 c++ 课程中,我们被指示使用类.我们会让头文件声明类和函数,而单独的 .cpp 文件实现它.事情应该是有效的,但他们没有,而且网络上没有任何解决方案似乎对我有用.为此,我在 linux 上使用 G++ 编译器,它似乎不适用于 IDE 或普通命令行. 我在 TBook.h 中遇到的错误是: /usr/lib/gcc/x86_64-linux-gnu/4.6/..
..
很多时候,当我编译有错字或其他类型不匹配的东西时,我会收到标准的“错误:'functionname' in ..."错误.这很棒.然后,特别是在函数和运算符重载的情况下,g++ 继续列出 10 页的候选列表,它们只是可怕的海量模板定义. 错误信息很好,但是有什么方法可以禁止它提示其他功能变体? 解决方案 据我所知,GCC 中没有编译标志可以在函数调用不明确的情况下禁用建议的候选.
..
C++ 标准委员会正在制定概念扩展的 TS(技术规范):“编程语言 - 概念的 C++ 扩展".N4377 是最新版本文档.为了包含在 C++ 标准中,要求实现功能,理想情况下是可公开访问的系统. 我知道 concept-gcc 但上面的概念提案(俗称Concepts Lite)是不同的.我听说有一个概念分支,我尝试了 的 origin/asutton/c++-conceptsgcc 的 g
..
我想让我的 gcc 总是默认添加一些标志,有没有干净的方法来做到这一点? 基本上,我每次调用 gcc 时都会传递一些标志,例如(但不限于)-g(以便它具有调试信息). 有几种解决方法,但它们都很丑: 别名g++=...,但我不喜欢这种做法; 写一个环绕g++的脚本,类似1; ... 我宁愿只修改规范文件,以便一切顺利. 解决方案 运行strace gcc |gr
..
我可以分享的内容有限,因为这是我从 Ubuntu 14.04 移植到 16.04 的大量代码的一部分. 这应该是微不足道的,但不知何故我正在为此苦苦挣扎.它没有找到我在源文件中使用 #include 引用的 numpy/arrayobject.h 我会尽可能多地分享,看看是否有人可以指导我解决问题. Ubuntu $ lsb_relea
..
..
你能举一个 C++ 中堆栈溢出的例子吗?除了递归情况: void foo() { foo();} 解决方案 不涉及无限递归的典型情况是在堆栈上声明一个太大的自动变量.例如: int foo(){整数数组[1000000];}
..
我在 Linux/Mac 下编译了一个隐藏符号的 C++ 库.我已经为我的所有类使用了 _attribute_ ((visibility("hidden"))) 并使用选项 (-c -O2 -fPIC -MMD -MP-MF).在 Mac 下,使用 MacDependencies (http://code.google.com/p/macdependency/),这项工作做得很好,因为我只看到了我
..
我正在运行 Windows XP. 我一直在关注本教程,所以下载了mingw-get-inst 这里. 我已经这样做了几次,最后一次我检查 boes 以安装所有东西,包括但不限于 gcc、g++、MSYS 和 MinGW 编译套件.我也告诉它做一个程序菜单快捷方式. 我相信我已将 MinGW/bin 正确添加到环境设置的路径. 所以我现在有了 MSYS shell 的快捷方
..
$ 文件应用程序应用程序:具有 2 种架构的 Mach-O 通用二进制文件应用程序(适用于 i386 架构):Mach-O 可执行 i386应用程序(用于架构 x86_64):Mach-O 64 位可执行 x86_64$ gdb 应用程序GNU gdb (GDB) 7.6版权所有 (C) 2013 Free Software Foundation, Inc.许可证 GPLv3+:GNU GPL 版
..
我正在尝试编译代码,但出现错误 对boost::program_options::options_description::m_default_line_length的未定义引用 我在 Ubuntu 12.04 中使用 g++.虽然我做过一些 C++ 编程,但我是 Linux 开发环境的新手(以前只使用过 IDE). 所以我对这个问题进行了基本搜索,发现了一些链接问题.我不太了解
..
我制作了一个程序,它使用两个共享库(我编译过),并且放置如下: /home_directory_where_I_compile_and_run_everything-->/lib/libjson_linux-gcc-4.4.6_libmt.so-->/lib/libre2.so.0 当我编译我的程序时,我将这些库的相对位置传递给链接器,如下所示: g++ ......东西..........
..
我的程序在 linux 和 windows 上都运行,我必须确保浮点运算在不同的操作系统中得到相同的结果. 代码如下: for (int i = 0; i 我使用“g++ -m32 -c -static -g -O0 -ffloat-store"在 linux 中构建代码.我使用 "/fp:precise/O2" 在 windows 中使用 vs2005 构建代码. 当我打印“d
..
假设我使用 MinGW 64(g++ 编译器)创建并编译了一个简单的程序.在我的计算机上运行这个程序并在 Process Explorer 中查找我发现的程序正在使用的 DLL 文件(以及许多其他文件): libgcc_s_seh-1.dlllibstdc++6.dlllibwinpthread-1.dll 这些是唯一位于我的 MinGW 安装文件夹下的.使用的其余 DLL 文件位于 C:\W
..
我对编程比较陌生,尤其是在如何包含库和类似活动方面.过去我一直在使用 Python 进行编程,并且一直在使用 GTK 创建窗口,这也是我在使用 c++ 编程时打算做的事情.首先,这是我的代码: #include #include static void helloWorld (GtkWidget *wid, GtkWidget *win){GtkWidg
..
那里 有 已经 问题 在 Stackoverflow 上询问 为什么 basic_fstream 不起作用.答案说 char_traits 仅专门用于 char 和 wchar_t (加上 char16_t、char32_t 在 C++11 中),您应该坚持使用 basic_fstream 来读取二进制数据并在需要时进行转换. 该死的,这还不够好!:) 没
..
请注意,我的问题不是:我如何告诉我的编译器在开启分析的情况下进行编译. 我想配置我的编译过程.对于每个文件,我想知道程序的每一行花费了多少时间. 我正在处理一个项目,有些文件的编译时间很长,我正在尝试找出原因. 有没有办法用 g++ 或 llvm-clang 做到这一点? 谢谢! -v -ftime-report 的输出(什么意思)? 下面是“解析器"还是“扩展
..
(免责声明:我不知道 C++ 标准对此会说什么……我知道,我很糟糕) 在处理非常大的字符串时,我注意到 std::string 正在使用写时复制.我设法编写了最小的循环来重现观察到的行为,例如,下面的循环运行得非常快: #include 使用标准::字符串;诠释主要(无效){字符串 basestr(1024 * 1024 * 10, 'A');for (int i = 0;
..