Приложение командной строки, созданное в Visual Studio 9, не принимает * .NEF в качестве входных данных, в то время как то же приложение, созданное с помощью gcc, - почему? - PullRequest
2 голосов
/ 18 марта 2011

Я создал dcraw.c (http://www.cybercom.net/~dcoffin/dcraw/dcraw.c) как приложение командной строки Windows с помощью cygwin / gcc). Сегодня я построил его с Visual Studio 2008, так как он позволяет включать библиотеки LIBJPEG и LCMS в exe-файл и не требует cygwin1.dll также. Также версия VC, кажется, быстрее. Так много для прелюдии.

Фактический вопрос таков: когда я использую последнее приложение, говорите как в dcraw -T -4 * .NEF Версия, созданная в cygwin / gcc, будет обрабатывать все файлы NEF в моем каталоге, в то время как версия, созданная в Visual Studio, будет выглядеть так:

Я понятия не имею, почему это так, и я ищу способ это исправить. Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

2 голосов
/ 18 марта 2011

Полагаю, вам нужно добавить setargv.obj для связи. Это расширит символы подстановки.Если вы используете командную строку (cl.exe), вы можете просто указать ее в командной строке:

cl yourfile.c /link setargv.obj

В проекте Visual Studio вы можете добавить его в поле Дополнительные зависимости в компоновщикеПараметры ввода в свойствах проекта.

0 голосов
/ 18 марта 2011

Запускаете ли вы обе сборки из одного и того же типа интерпретатора команд?В системах Unix оболочка расширяет подстановочные знаки;Windows cmd.exe не делает, оставляя это программе, если это необходимо.Если вы используете одну сборку из cmd, а другую из bash Cygwin, это может объяснить различные варианты поведения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...