首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用visual Studio9构建的命令行应用程序不接受*.NEF作为输入,而用gcc构建的同一个应用程序却接受-为什么?

用visual Studio9构建的命令行应用程序不接受*.NEF作为输入,而用gcc构建的同一个应用程序却接受-为什么?
EN

Stack Overflow用户
提问于 2011-03-18 07:19:51
回答 2查看 857关注 0票数 2

我之前用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

我不知道为什么会这样,我正在寻找解决这个问题的方法。任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2011-03-18 07:24:35

我相信你需要添加setargv.obj才能链接进去。它将扩展通配符。如果使用命令行(cl.exe),则只需在命令行中指定:

代码语言:javascript
复制
cl yourfile.c /link setargv.obj

在Visual Studio项目中,可以将其添加到项目属性的“链接器输入选项”中的“其他依赖项”字段中。

票数 2
EN

Stack Overflow用户

发布于 2011-03-18 07:28:13

您是否从同一类型的命令解释器运行这两个版本?在Unix系统上,shell会扩展通配符,而Windows cmd.exe则不会,如果需要的话,就让程序来做吧。如果你运行一个来自cmd的构建,另一个来自Cygwin的bash,这可以解释不同的行为。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5346456

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档