Как собрать wxWidgets 2.9.1 с помощью Visual Studio 2010? - PullRequest
4 голосов
/ 03 мая 2011

У меня есть недавно загруженная Visual Studio C ++ 2010 Express и wxWidgets 2.9.1.Папка сборки в папке wx \ build \ msw содержит файлы решений для VC ++ версий 6–9 (2008).

Я попытался открыть последнее решение, wx_vc9.sln.Он преобразовал все проекты с кучей предупреждений.При попытке построить каждый проект выдается ошибка:

C: \ Program Files (x86) \ MSBuild \ Microsoft.Cpp \ v4.0 \ Microsoft.CppCommon.targets (151,5):ошибка MSB6001: неверный ключ командной строки для "cmd.exe".Путь не имеет допустимой формы.

При попытке открыть предыдущую версию решения, wx_vc8.sln, генерируются те же предупреждения о преобразовании и те же ошибки сборки.

IПогуглил на несколько подсказок и нашел предложение начать с файла .dsw.Я открыл wx.dsw, и он выдал ошибку для каждого из файлов проекта:

D: \ 3rdParty \ wx \ build \ msw \ wx_wxregex.dsp: ошибка: обновление проекта не удалось.

Наконец в отчаянии я попытался nmake /f makefile.vc, и меня встретила еще одна ошибка:

NMAKE: фатальная ошибка U1077: 'cl': код возврата '0xc0000135'

У кого-нибудь есть намеки?Спасибо.

Ответы [ 4 ]

5 голосов
/ 05 мая 2011

Есть два способа решения этой проблемы: во-первых, если вы обновите более позднюю версию SVN-магистрали wxWidgets, это исправлено (и поэтому будет исправлено в 2.9.2 при его выпуске).Если вы не хотите работать с транком ожидания для 2.9.2, то если вы выполните поиск и замените все файлы .vcxproj и замените

> $ (INTDIR) $ (OUTDIR);% (AdditionalInputs)

с

>% (FullPath);% (AdditionalInputs)

, тогда он должен скомпилироваться нормально.

4 голосов
/ 19 июня 2011

Для дальнейшего использования, поверьте мне, избегайте всякой ерунды и запустите Командную строку Visual Studio 2010 и перейдите к [каталог wxwidgets] \ build \ msw Затем скомпилируйте файл makefile с помощью следующей команды:

nmake -f makefile.vc BUILD = выпустить MONOLITHIC = 0 SHARED = 0 UNICODE = 1

Конечно, измените параметры по мере необходимости. Таким образом, вы спасете много неприятностей, как я это сделал.

1 голос
/ 17 января 2012

Ключ к компиляции с использованием Visual C ++ 2010 Express и wxWidgets 2.9.3 состоит в том, чтобы продолжать нажимать F7 снова и снова, снова и снова .... до тех пор, пока вы не получите сообщение "0 Failed" ниже. Поскольку многие проекты имеют зависимости, которые не удовлетворяются сразу, поэтому необходимо продолжать компиляцию с помощью 'F7', пока все не будут выполнены.

Скачать wxWidgets. Я скачал файл .7-Zip (всего 12 МБ!) И установил его в C: \ wxWidgets. Структура должна быть такой, чтобы вы могли видеть следующие папки, такие как C: \ wxWidgets \ lib и C: \ wxWidgets \ build и т. Д. и т.д ...

По сути, этот процесс должен состоять в том, чтобы перейти к C: \ wxWidgets \ build \ msw, открыть файл решения wx_vc9 для VC-2008 и преобразовать его в VC-2010 по запросу. Затем выберите «DLL-релиз Win32» сверху и нажмите F7. Дождитесь компиляции и увидите сообщение. Затем продолжайте нажимать F7 снова и снова, пока не получите сообщение «0 Failed» ниже. Затем вы захотите скомпилировать релиз DLL-Debug таким же образом.

Скомпилированные файлы DLL могут быть найдены в C: \ wxWidgets \ lib \ vc_dll. Теперь, чтобы добавить папку vc_dll в вашу PATH, щелкните правой кнопкой мыши на «Мой компьютер» -> «Свойства» -> «Дополнительные параметры системы» -> «Переменные среды» -> «Переменные пользователя». Выполните поиск «Путь» -> «Редактировать», а затем просто добавьте; C: \ wxWidgets \ lib \ vc_dll до конца.

Это облегчает запуск вашего скомпилированного приложения, поскольку ваш .EXE теперь может легко находить библиотеки DLL. Когда вы упаковываете, тогда вам, очевидно, нужно связать определенные Release-DLL вместе.

Затем вы можете скомпилировать сэмплы, расположенные в C: \ wxWidgets \ samples. Я просто захожу в отдельную папку проекта, например, для C: \ wxWidgets \ samples \ drawing и откройте проект drawing_vc9, затем преобразуйте его в качестве подсказки и нажмите F7, чтобы создать версию выпуска. Теперь, если вы войдете в C: \ wxWidgets \ samples \ drawing \ vc_mswudll \ Folder, у вас есть готовый к запуску файл 'drawing.exe'!

Веселись!

0 голосов
/ 03 мая 2011

Используйте wx.dsw, у меня ушло некоторое время, чтобы, наконец, получить его, но после этого он будет работать нормально. Я также предлагаю использовать один из примеров проектов, таких как «минимальный», в качестве основы и просто исправить все пути конфигурации, чтобы они соответствовали тому, что вы хотите построить (как ручная настройка, с которой я столкнулся).

Если вы уже использовали wx_vc9 (как вы и говорили), вам, вероятно, лучше всего просто удалить все wx и перезапустить его и использовать wx.dsw, как я уже говорил выше.

...