Visual c++ 如何在MFC12.0中将.dll项目转换为.exe

Visual c++ 如何在MFC12.0中将.dll项目转换为.exe,visual-c++,visual-studio-2013,mfc,qt-mfc-migration,Visual C++,Visual Studio 2013,Mfc,Qt Mfc Migration,我有一个项目最初在MFC中作为.dll项目开发,但我想将此项目转换为.exe应用程序。我更改了项目设置,如下所示,但没有帮助 编辑:进一步,我将链接器属性更改为项目属性->链接器->常规->输出文件。。设置为。Debug\dirbkgndex.exe 当我编译时,我得到以下错误 我在谷歌上搜索过它,在一些博客上,人们建议将现有项目的所有内容复制粘贴到可执行类型的新项目上。因为这个项目有点大,所以这个选项听起来不太好 使用应用程序向导创建新项目并将所有源文件移动到新项目中可能更简单 问题是向导向

我有一个项目最初在
MFC
中作为.dll项目开发,但我想将此项目转换为.exe应用程序。我更改了项目设置,如下所示,但没有帮助

编辑:进一步,我将链接器属性更改为
项目属性->链接器->常规->输出文件。。设置为。Debug\dirbkgndex.exe

当我编译时,我得到以下错误

我在谷歌上搜索过它,在一些博客上,人们建议将现有项目的所有内容复制粘贴到可执行类型的新项目上。因为这个项目有点大,所以这个选项听起来不太好


使用应用程序向导创建新项目并将所有源文件移动到新项目中可能更简单

问题是向导向项目中添加了一些属性页。当您更改项目类型时,它们可能不会被切换

在我的项目中,我可以在我无法影响的DLL的项目设置中看到链接器选项/DLL。检查链接器设置并查看命令行选项

同时打开属性管理器,检查添加了哪些属性并替换它们


但是,对我来说,创建一个新的合适的项目并将源文件移动/添加到其中对我来说更简单。

这里会发生什么?DLL没有入口点(它有,但对于独立的应用程序没有入口点),所以当运行exe时,软件应该做什么?您需要提供一个“驱动程序”,它将启动您想要发生的任何事情。创建一个新的exe应用程序(win32或console?),将“引导”代码从该应用程序复制到现有应用程序中,并在其中执行初始化/参数解析等操作


可能您应该进行单独的配置:一个构建为dll,一个构建为exe。然后使用宏保存特定于每个生成的代码。这就是我为具有嵌入式测试/开发UI的库所做的工作。

我想我的处境与您非常相似,只是我在相关的#定义后面有代码,因此项目应该能够非常轻松地构建为.exe(如main())

我翻转了与您相同的设置,加上以下内容(在VS2012中):

在Linker>Input中,确保模块定义文件为空(对我来说是foo.def)


然后我可以用水晶球构建一个可运行的.exe。有错误信息吗?发生了什么事?@哈珀。。我已经修改了我的问题。。检查一下pls1。您的dll的入口点是DllMain();你写的是main()还是WinMain()?2.它应该如何与用户交互?我没有更改代码…那么你真正想要的是什么?即使您成功编译并链接了新的exe,您将如何处理它?它实现了用户界面吗?它是用特定参数调用的单个函数吗?这个DLL今天是如何使用的?您可能只需要创建一个应用程序来与它进行接口,并将其保留为dll?这不是我正在寻找的解决方案,尽管这可以被视为最后一个选项。。无论如何,谢谢您的时间。请在property manager中比较所附的属性页。或者创建两个项目(DLL/EXE)并比较项目文件。是的,在我的研发中,我也得出了相同的结论。我明白我必须做的,谢谢。