J. *_*ran 10 c c++ visual-studio
正如标题所说,我无法创建一个简单的 DLL。我正在使用 VS 2017 社区版 15.8.0 版。这是 .dll 代码:
#include "stdafx.h"
#include "InvWin32App.h"
#include "$StdHdr.h"
void Prc1()
{
printf("ran procedure 1\n");
}
Run Code Online (Sandbox Code Playgroud)
这是标头的代码,按照 MS 的处理方式:
#ifdef INVWIN32APP_EXPORTS
#define INVWIN32APP_API __declspec(dllexport)
#else
#define INVWIN32APP_API __declspec(dllimport)
#endif
#ifdef __cplusplus
extern "C" {
#endif
INVWIN32APP_API void Prc1();
#ifdef __cplusplus
}
#endif
Run Code Online (Sandbox Code Playgroud)
这是驱动程序代码:(更新:驱动程序是一个 .exe 程序。)
#include "pch.h"
#include "InvWin32App.h"
int main()
{
Prc1();
}
Run Code Online (Sandbox Code Playgroud)
没有比这更简单的了。当我尝试运行代码时,我收到以下错误消息框:
Unable to start program
program name.dll
program name.dll is not
a valid Win32 application
Run Code Online (Sandbox Code Playgroud)
我可以创建 .exe 程序。今天早上早些时候,我在运行 VS 2017 版本 15.7.5 时也遇到了错误。升级VS没有任何好处。我也尝试将这些编译为 .c 程序,但没有任何区别。
我在几次使用 VS 2015 创建 .exe 程序时遇到了这个问题。我不记得我做了什么,但问题消失了。任何帮助,将不胜感激。
TIA。
右键单击解决方案资源管理器中可执行文件的项目,然后单击“设置为启动项目”。
请注意,“不是有效的 Win32 应用程序”不是编译错误或链接错误,而是当您尝试调试不可执行的内容时收到的消息。
您只能启动可执行文件。可执行文件使用 dll。这些应该是两个独立的项目,有两组对应的项目设置。
| 归档时间: |
|
| 查看次数: |
16246 次 |
| 最近记录: |