c++ - 无法将流代码与 gcc 链接

标签 c++ gcc gcc4 gcc3

我在编译以下代码时遇到问题:

// writing on a text file
#include <iostream>
#include <fstream>
using namespace std;

int main () {
  ofstream myfile ("example.txt");
  if (myfile.is_open())
  {
    myfile << "This is a line.\n";
    myfile << "This is another line.\n";
    myfile.close();
  }
  else cout << "Unable to open file";
  return 0;
}

编译:

g++ -c -O2 -Wall -Wno-unused -fexceptions  -I. -I../../../stub -D_REENTRANT -D_THREAD_SAFE  -I.  -o t.o ./test.cc

g++ -o t -O2 -Wall -Wno-unused -fexceptions -Wl,-brtl -Wl,-blibpath:/lib:/usr/lib t.o -lpthreads

编译给出了一些警告:

ld: 0711-224 WARNING: Duplicate symbol: .__divdi3
ld: 0711-224 WARNING: Duplicate symbol: .__moddi3
ld: 0711-224 WARNING: Duplicate symbol: .__udivdi3
ld: 0711-224 WARNING: Duplicate symbol: .__umoddi3
ld: 0711-224 WARNING: Duplicate symbol: .__udivmoddi4
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.

生成的二进制文件似乎执行正常:

$ ./t
$ echo $?
0

输出文件已创建但为空!?!

如果有任何关于可能是什么问题的指示,我将非常感激不尽。

最佳答案

Libpath 设置不正确,导致了这个问题。正确的设置应该是

LIBPATH=/opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/4.2.0/

关于c++ - 无法将流代码与 gcc 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4497306/

相关文章:

c++ - 代码在 CLion 中编译,但不在命令提示符中

gcc - 无法识别的命令行选项 '--exclude-libs=libpthread.a' openblas mingw-w64

ios - 发布版本的 dSYM 文件

c - gcc4.7 错误 - 取消引用类型双关指针

c++ - Boost multi_index_container,通过标签获取索引导致编译错误

c++ - 仅在 C++ 标准中阐述?

c++ - 类型名称 C++ 错误

c++ - OpenSSL 解密 - EVP_DecryptFinal_ex 失败

c++ - 用于顺序内存访问的编译器嵌套循环优化。

c - arm-linux-gnu-gcc fatal error : stdio. h: 没有那个文件或目录