C++ 无法将流代码链接到gcc
我在编译以下代码时遇到问题:C++ 无法将流代码链接到gcc,c++,gcc,gcc4,gcc3,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 <<
// 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;
}
该文件给出了一些警告:
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/如果编译
g++test.cc-o test.run
?去掉未使用的库异常,并且没有使用任何线程,那么为什么要使用线程标志进行编译?我会尝试隔离编译器和链接器选项。你的程序对我来说很好,没有那些额外的选项。谢谢你的提示,这是一个库问题。清除libpath成功了,程序也成功了。
$ ./t
$ echo $?
0