在Windows中执行system()时找不到入口点
Entry Point Not Found when executing system() in Windows
所以,我有两个应用程序,一个用C++编译,另一个用C编译。主应用程序C无法在Windows中使用system()函数启动另一个应用程序。我收到一个错误消息框,上面写着"找不到入口点"。问题是,当从命令提示符运行时,另一个应用程序运行得很好。有人遇到过类似的事情吗?
编辑:-适用于提问者:)嗯,这个应用程序在另一个目录中,它将bmp转换为png,它有两个参数。。首先,我创建了一个像这样的新字符串
sprintf(converterExec, "%s\converter.exe "%s" "%s"", newDir, bmpLoc, pngLoc);
newDir=程序的目录bmpLoc,pngLoc=两个位置,源文件和目标文件
当我调试程序时,converterExec
包含程序的绝对路径和两个参数,因此没有错误。
然后我叫这个:
system(converterExec);
我想,converter.exe
中存在一些问题(也许,应该使用静态链接进行编译)。
尝试其他程序,例如:
#include <stdio.h>
#include <windows.h>
int main(void)
{
char commandLine[256];
char progName[] = "ping";
char hostName[] = "localhost";
char keys[] = "-n 2";
sprintf(commandLine, "%s "%s" %s", progName, hostName, keys);
printf("%sn", commandLine);
system(commandLine);
}
如果有效,请再次尝试您的命令,但在开始时添加cmd /c
:
sprintf(converterExec, "cmd /c %s\converter.exe "%s" "%s"", newDir, bmpLoc, pngLoc);
此外,请检查为converterExec
分配的内存是否足以存储末尾有额外' '
的所有字符。
相关文章:
- SWIG c++ 到 C# 错误找不到入口点SWIGRegisterExceptionCallbacks_xxxx
- C++ minGW 找不到过程入口点
- 运行 exe - C++ 时找不到入口点
- 找不到 DLL 入口点
- 找不到名为的入口点
- 在 dll 中找不到过程入口点GOMP_parallel
- DirectX 11.2 错误: X3501: 找不到'main'入口点
- 在Vista操作系统中找不到入口点错误
- MSVC2013 - 找不到入口点
- 在 C# 中调用 C++ dll 时找不到入口点
- 找不到过程入口点__gxx_personality_v0
- SFML 错误,出现C++,找不到入口点
- 在Windows中执行system()时找不到入口点
- System.EntryNotFoundException:在DLL中找不到入口点
- 在dll libmysql.dll中找不到过程入口点mysql_get_option
- 警告:编译到.so时找不到入口符号start-
- 在动态链接库libstdc++-6.dll中找不到过程入口点_gxx_personality_v0.错误
- 在32位DLL中找不到入口点.使用64位DLL
- Oracle 数据库中的 OCCI - 找不到过程 OCIPIsDesc.dll 库中重建的入口点
- 在中找不到过程入口点__gxx_personality_sj0.