是否有可能在没有lib的情况下编译C++? 因为当我试图编译我的程序与Mingw和cygwin的.exe文件后,我无法运行它,它说,有一个缺少的库。对于cygwin,它是“cygwin1.dll”。是否可以在没有lib的情况下编译C++?
1
A
回答
4
用Cygwin构建的二进制文件始终依赖于cygwin1.dll
。 Hovewer,如果你想避免这种情况,请使用链接器选项-mno-cygwin
。通过这种方式,您可以确保不需要依赖于您需要随应用程序一起提供的cygwin运行时库。
MinGW也有一些本地依赖项。特别是,libgcc_s_dw2-1.dll
(取决于工具链中使用的退绕类型)和mingwm10.dll
。要摆脱它们,请使用链接器的-static-libgcc
和-mthreads
选项。请注意,C++异常取决于此选项。
不过小记。你的问题 - “有没有可能编译C++没有lib?”是不正确的,因为有总是对libs的一些依赖(除非你正在为没有OS的准系统硬件构建二进制文件),例如Windows的user32.dll。当然,Cygwin和MinGW都不适合这一点。
2
它不只是一个图书馆;这是您运行使用Cygwin编译的应用程序所需的运行时。
如果你真的使用MinGW,那么你可以完全避免Cygwin与-mno-cygwin
,但即使那样你将需要MinGW运行时,可能还需要C++标准库。但是,这些通常可以链接到静态,以便您不需要运送任何依赖关系。
2
一般答案 - no。 C++代码通常需要运行时支持,以启用RTTI和异常处理等功能。 因此无论如何,您必须动态或静态地将可执行文件与libstdC++链接起来。
相关问题
- 1. 编译器可以在没有扩展的情况下编译代码吗?
- 2. 如何在C#中编写一个lib,lib可以在没有任何调用的情况下运行?
- 3. 是否可以在没有appstore的情况下安装IOS APP?
- 4. 是否可以在没有X-server的情况下运行JavaFx?
- 5. Android:是否可以在没有SurfaceView的情况下创建SurfaceTexture?
- 6. 是否可以在没有IIS的情况下使用Silverlight RiaServices?
- 7. 是否可以在没有Karma的情况下测试Angular?
- 8. 是否可以在没有梨的情况下安装PHPUnit?
- 9. 是否可以在没有Weblogic Server的情况下运行OSB?
- 10. 是否可以在没有log4j的情况下使用perf4j?
- 11. 是否可以在没有Expressj的情况下使用Passport.js?
- 12. 是否可以在没有QtConcurrent的情况下使用QFuture?
- 13. 是否可以在没有RTP/SAVP的情况下使用SIPML5
- 14. 是否可以在没有MFC的情况下使用CListCtrl
- 15. 是否可以在没有jQuery的情况下使用Materializecss?
- 16. 是否可以在没有累加器的情况下写入?
- 17. 是否可以在没有FOSUserBundle的情况下使用FOSCommentBundle?
- 18. 是否可以在没有GMS的情况下使用Google API?
- 19. 是否可以在没有VT-x的情况下使用Boot2Docker?
- 20. 是否可以在没有GATT的情况下实施Proximity Profile?
- 21. 是否可以在没有cookie的情况下设置nginx?
- 22. 是否可以在没有RPC的情况下使用Apache Thrift?
- 23. 是否可以在没有stdlibs的情况下写入控制台? c/C++
- 24. 在没有gnustep的情况下编译目标c程序
- 25. 如何在没有visual studio的情况下编译C文件
- 26. 是否可以在没有edititemtemplate的情况下编辑GridView单元格?
- 27. 是否可以在没有SDK的情况下编写Android应用程序?
- 28. 是否有任何理由在没有优化的情况下进行编译?
- 29. 是否可以在不重新编译的情况下更改exe的图标?
- 30. 我可以在没有编译器的情况下将.c文件编译为.exe文件吗?
试试'-mno-cygwin'。 –
重复http://stackoverflow.com/questions/338406/cygwin1-dll-not-found-when-running-a-program-written-in-c-how-can-i-make-windo – Griwes
@Griwes:几乎不。那个人想找图书馆;这个人不想使用它(但不能)。 –