从.o文件生成.dll时遇'Missing argument in parameter list'错误求助
JNI生成DLL时PowerShell解析错误的解决办法
这个错误是Windows PowerShell的命令解析规则导致的——-Wl,--add-stdcall-alias里的逗号会被PowerShell误判为参数分隔符,它会把--add-stdcall-alias当成一个没有对应命令的独立参数,从而抛出"Missing argument"错误。
解决方法有两种:
用双引号把整个链接器选项包裹起来,让PowerShell把它当作一个完整参数处理:
gcc -shared -o hello.dll HelloWorld.o "-Wl,--add-stdcall-alias"或者用PowerShell的转义符(反引号`)转义逗号,避免被解析成分隔符:
gcc -shared -o hello.dll HelloWorld.o -Wl`,--add-stdcall-alias
补充:如果是在CMD命令行里执行原命令,原本的写法是可以正常运行的,只有PowerShell会出现这个解析问题。
内容的提问来源于stack exchange,提问作者hariharan baskaran
相关产品推荐
相关产品推荐

