说我建立了一个名为App1的应用程序,在单个项目中有许多类。我决定要构建另一个名为App2的项目,并且我想使用这些相同的类,因此我决定将App1变成一个lib文件。我必须删除WinMain函数才能这样做,否则我可以离开它,编译器将忽略lib文件中的winMain。 ??你是否必须摆脱WinMain把项目变成一个lib
0
A
回答
1
特别是在Visual Studio中,您的静态库在任何情况下都不会造成麻烦。即使您可以将您的WinMain
(或控制台main
)添加到静态库中,但您在第二个项目中使用它的唯一机会是明确地将Linker-System-Subsystem
设置为适当的类型。
在这种情况下,如果你符合程序(WinMain
针对Windows子系统和main
控制台),那么实际上你可以编译你的第二个项目,而不在它定义main
常规和main
想从你的库链接。
不过,在这种情况下,如果你声明main
和ALSO链接库中,当地main
将有优先权,将被调用,从而使main
库将被忽略。
因此,如果将函数导出到库中,实际上并没有什么区别,您可以保留它并且不会使用它,除非您做出前面提到的内容。
1
这样做没有任何意义。在他们自己的库项目中关闭构建.lib的类,并使用应用程序使用该库。
相关问题
- 1. 莲花错误 - 你必须提供一个项目名称
- 2. 你是否必须在方法内部初始化一个字符串变量?
- 3. 你必须是一个角CLI项目中才能使用此命令,角-CLI
- 4. Maven模块是否必须是父项目的子目录?
- 5. 哪一个必须是宝石目录?
- 6. 左边必须是一个变量
- 7. 我完成后是否必须摧毁一个物体?
- 8. 是否必须手动完成EF upsert?
- 9. 创建C++ .lib项目,消费者项目必须引用libs包括
- 10. 从项目中摆脱ndk构建
- 11. 如何摆脱Word VBA项目垃圾?
- 12. 摆脱UIMenuController中的标准项目
- 13. 摆脱列表项目中的光盘
- 14. 无法摆脱Eclipse中的SVN项目
- 15. .swz文件是否必须与项目.swf位于同一目录中?
- 16. 不变违规:renderComponentToString():你必须通过一个有效的ReactComponent
- 17. FormsAuthenticationTicket.Name是否必须是唯一的?
- 18. JMeter的:如何不把它变成一个罐子在JMeter的/ lib/ext目录
- 19. 你如何把它变成一个变量?
- 20. 你可以把PHP文本变成一个变量吗?
- 21. 摆脱“注释属性的值必须是常量表达式”消息
- 22. 作业的左侧必须是变量是否必要?
- 23. 我是否必须将VB6 SP6应用于Windows项目的所有DLL项目?
- 24. 主项目和图书馆项目是否必须共享相同的包?
- 25. 我怎么能摆脱把“新”功能
- 26. 我该如何摆脱“是你的第一个朋友喜欢这个”?
- 27. 你有2个app.css文件吗?还是你必须合并?
- 28. 你的内容必须有一个listview,其id属性是'android.r.id.list'
- 29. 必须建立2个解决方案,每个项目一个
- 30. 我是否需要摆脱回发或?
好的,所以如果我确实使用链接器系统子系统。为了使它更加有效,我是否必须在WinMain中放置一个Method,并从第二个应用程序中覆盖它? – numerical25 2010-04-27 15:48:37
嗯,首先,你实际上不能重写一些从静态库中已经编译过的函数中调用的方法(这是不能完成的,因为这个方法很可能被编译在同一个静态库中,是不是你可以重新定义它) – 2010-04-27 15:54:56
如果我是你,我会为我的班级制作一个标题,让我们说'class.h'。现在你有一些方法可以让你更容易。首先,如果类实现(比如'class.cpp'文件)不是很大,我只需将它添加到我的新项目中(以便在一个项目中实际引用一个文件 - 例如,也可以将它们项目在一个文件夹中)。第二种方法是建立一个模板化的类(这样代码只能写在'.h'文件中),或者简单地把所有的代码写在'.h'文件中(坏,但适用于某些应用程序) – 2010-04-27 15:58:04