我有一个基本的Hello World
C ++程序,我正在尝试使用cygwin
在g++
上编译和运行。代码是:
#include <iostream>
using namespace std;
int main() {
cout << "Hello world." << endl;
return 0;
}
使用:g++ helloWorld.cpp -o h
进行编译会导致以下错误:
/tmp/ccDO1S4J.o:helloWorld.cpp:(.rdata$.refptr.__dso_handle[.refptr.__dso_handle]+0x0): undefined reference to
__ dso_handle&#39;
collect2:错误:ld返回1退出状态`
我一直在阅读一些其他线程,这些线程表明它可能是一个链接器问题,并且单独调用链接器或使用详细输出可能会导致更多线索。
所以,我做了:
1. g ++ -c helloWorld.cpp -o helloWorld.o(这很有效 - 没有错误)
2. ld -o h helloWorld.o导致对__main或std :: cout等错误的大量未定义引用。
我认为这是一个链接问题,我需要链接另一个库。关于如何解决这个问题的任何指示都是最受欢迎的。
答案 0 :(得分:0)
通过g++
工作的安装程序应用程序重新安装cygwin
。