gpt4 book ai didi

c++ - 你必须去掉 WinMain 才能将项目变成库吗

转载 作者:行者123 更新时间:2023-11-28 03:57:50 28 4
gpt4 key购买 nike

假设我在一个项目中构建了一个名为 App1 的应用程序,其中包含很多类。我决定要构建另一个名为 App2 的项目,并且我想使用那些相同的类,因此我决定将 App1 转换为一个 lib 文件。我必须删除 WinMain 函数才能这样做,还是我可以保留它,编译器将忽略 lib 文件中的 winMain。 ??

最佳答案

特别是在 Visual Studio 中,您的静态库在任何情况下都不会造成麻烦。即使您可以将 WinMain(或控制台 main)添加到静态库,您在第二个项目中使用它的唯一机会是显式查看 Linker-System-Subsystem 到适当的类型。

在这种情况下,如果您匹配例程(WinMain 用于 windows 子系统,main 用于控制台),那么您实际上可以编译您的第二个项目而无需定义 其中的 main 例程和 main 将从您的库链接。

不过,在这种情况下,如果您声明 mainALSO 链接您的库,您的本地 main 将具有优先级并被调用,因此库中的 main 将被忽略。

因此,实际上,是否将函数导出到库对您来说没有区别,您可以保留它,除非您按照我之前指出的方式进行操作,否则不会使用它。

关于c++ - 你必须去掉 WinMain 才能将项目变成库吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2722410/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com