__targv在我的MFC Windows应用程序中为NULL。 argc == 1

| 我有一个Windows应用程序设置,如下所示: 调试-构建一个静态链接它所使用的库的exe 发布-构建链接到DLL的exe 我刚刚创建了发行​​版本,唯一的区别是所使用的一个库现在正在作为DLL构建。 当我执行我的应用程序时,每当访问命令行参数时,它就会崩溃。这是由于__targv为NULL,而argc == 1。 有人遇到过吗?     
已邀请:
__targv中的第一个参数是当前可执行文件的路径和名称。 这就是为什么参数计数为1的原因。尝试在屏幕上打印
__targv[0]
的内容,您应该会看到类似
C:/.../.../foobar.exe
的内容(其中
.../...
是可执行文件的路径,而
foobar.exe
是exe)。     
感谢大家的建议和帮助。 如果有人感兴趣,这里可以解决问题。另外,如果其他任何人遇到此问题,这也适合他们: 在创建DLL的过程中,我不得不将C运行时库切换为MD(DLL类型)和(我认为)MFC链接配置(UseOfMFC)。 我错误地混合使用了UseOfMFC类型,我相信这会弄乱_targv并在调用任何AFX函数时引起异常。 我重新访问了该项目,将所有配置更改为使用DLL类型CRT,并保持了UseOfMFC不变。这解决了我遇到的问题。     

要回复问题请先登录注册