我之前用cygwin / gcc构建了dcraw.c (http://www.cybercom.net/~dcoffin/dcraw/dcraw.c)作为windows命令行应用程序。今天,我用visual studio 2008构建了它,因为它允许将库LIBJPEG和LCMS包含到exe文件中,并且也不需要cygwin1.dll。此外,VC构建的版本似乎更快。前奏到此为止。
实际的问题是这样的:当我使用最终的应用程序时,比如说在dcraw 4 *.NEF中,cygwin / gcc构建的版本将处理我目录中的所有NEF文件,而visual studio构建的版本会说:*.NEF: Invalid argument
我不知道为什么会这样,我正在寻找解决这个问题的方法。任何帮助都将不胜感激。
发布于 2011-03-18 07:24:35
我相信你需要添加setargv.obj才能链接进去。它将扩展通配符。如果使用命令行(cl.exe),则只需在命令行中指定:
cl yourfile.c /link setargv.obj在Visual Studio项目中,可以将其添加到项目属性的“链接器输入选项”中的“其他依赖项”字段中。
发布于 2011-03-18 07:28:13
您是否从同一类型的命令解释器运行这两个版本?在Unix系统上,shell会扩展通配符,而Windows cmd.exe则不会,如果需要的话,就让程序来做吧。如果你运行一个来自cmd的构建,另一个来自Cygwin的bash,这可以解释不同的行为。
https://stackoverflow.com/questions/5346456
复制相似问题