代码::积木问题
您好,我在 Code::Blocks 中构建程序时遇到问题。 问题是,当我构建代码时,它开始给我带来各种不相关的错误,例如:
main.cpp:(.text+0x12): 对“system”的未定义引用
main.cpp:(.text+0x1e): 对“system”的未定义引用
main.cpp:(.text+0x37): 对“ZSt4cout”的未定义引用
main.cpp:(.text+0x3c): 未定义的引用 `ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc'
main.cpp:(.text+0x44): 对“ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_”的未定义引用
main.cpp:(.text+0x4c): 对“ZNSolsEPFRSoS_E”的未定义引用
main.cpp:(.text+0x5b): 对“ZSt3cin”的未定义引用
main.cpp:(.text+0x60): 对“ZNSirsERd”的未定义引用
main.cpp:(.text+0xaf): 对“ZSt4cout”的未定义引用
main.cpp:(.text+0xb4): 对“ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc”的未定义引用
main.cpp:(.text+0xc4): 对“ZNSolsEd”的未定义引用
....等等
问题是在我在 Ubuntu 11.04 中编辑相同的程序之前,它在 Windows 7 上运行没有问题。我只是不知道有什么办法可以解决这个问题。任何帮助表示赞赏。哦,如果您想要代码,请问我,我会发布它。我现在不这样做,因为这个问题已经够长了。
Hi I have a problem building a program in Code::Blocks.
The problem is when I build the code it starts giving me all kind of unrelated errors like these:
main.cpp:(.text+0x12): undefined reference to `system'
main.cpp:(.text+0x1e): undefined reference to `system'
main.cpp:(.text+0x37): undefined reference to `ZSt4cout'
main.cpp:(.text+0x3c): undefined reference to
`ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc'main.cpp:(.text+0x44): undefined reference to `ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_'
main.cpp:(.text+0x4c): undefined reference to `ZNSolsEPFRSoS_E'
main.cpp:(.text+0x5b): undefined reference to `ZSt3cin'
main.cpp:(.text+0x60): undefined reference to `ZNSirsERd'
main.cpp:(.text+0xaf): undefined reference to `ZSt4cout'
main.cpp:(.text+0xb4): undefined reference to `ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc'
main.cpp:(.text+0xc4): undefined reference to `ZNSolsEd'
....and so on
The problem is before I edit the same program in my Ubuntu 11.04 it was running without a problem on Windows 7. I just don't know any way to fix this. Any help is appreciated. Oh and if you want the code just ask me and I will post it. I don't do it now because this question is long enough.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我看到两种可能性:
a) 更有可能:您尝试在 Win7 和 Linux 之间共享的位置编译项目,而不使用
make clean
。编译器生成的目标文件在每个平台上都不同,因此您尝试链接不兼容的目标文件。只需执行全部重建
即可。b) 不太可能:该项目可能被设置为纯 C,并且您尝试将其编译为 C++。那么,正确的决定是正确地重新创建项目。
I see two possibilities:
a) more likely: you try to compile your project at a location shared between Win7 and Linux without
make clean
. The object files the compiler generates are different on each platform, thus you try to link with incompatible object files. Just do aRebuild all
.b) less likely: the project might be set up as pure C, and you try to compile it as C++. Then, the correct decision would be to recreate the project correctly.