Компиляция кода WIN32 с GCC - PullRequest
       0

Компиляция кода WIN32 с GCC

4 голосов
/ 22 декабря 2010

Я попытался скомпилировать некоторый код C32 WIN32 с GCC через DevC ++ (MinGW GCC).Похоже, что он не смог связать объекты, и он не дал мне четкого сообщения об ошибке: «[PathToSource]> Ошибка 1».

Попробовал то же самое с Eclipse (MinGW GCC), и он скомпилирован.Тем не менее, не все ресурсы отображаются, так как у меня установлен значок для компиляции в качестве значка приложения, он загружается из файлов ресурсов.Я также получаю окно консоли в фоновом режиме при запуске приложения.

В чем причина этого?Как я могу заставить файлы ресурсов компилироваться с кодом, а также избежать загрузки окна консоли в фоновом режиме.

Мне также было интересно, есть ли способ компиляции кода WIN32 в Linux через GCC или способпортировать его для того же компилятора.

Ответы [ 3 ]

4 голосов
/ 22 декабря 2010

Попробуйте скомпилировать в командной строке и посмотрите, что произойдет.

для вашего файла ресурсов попробуйте это в командной строке.

windres resource_file.rc -o resource_file.o и, наконец, создайте свой код, g++ resource_file.o -o app.exe app.cpp

2 голосов
/ 22 декабря 2010

Я попытался скомпилировать некоторый код C32 WIN32 с GCC через DevC ++ (MinGW GCC).Похоже, что он не смог связать объекты, и он не дал мне четкое сообщение об ошибке: «[PathToSource]> Ошибка 1».

Вы включили путь к Windows SDK?На моем компьютере он находится по адресу:

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib\x64

(обратите внимание, что на моем компьютере установлены Visual Studios)

Скомпилируйте вашу программу с соответствующей библиотекой gccsetting s.

Пробовал то же самое с Eclipse (MinGW GCC) и он скомпилирован.Тем не менее, не все ресурсы отображаются, так как у меня установлен значок для компиляции в качестве значка приложения, он загружается из файлов ресурсов.Я также получаю окно консоли в фоновом режиме при запуске приложения.

Проверьте настройки ресурса, чтобы увидеть, где Eclipse ссылается на вашу библиотеку Windows.

Что такоеконечно же?Как мне сделать так, чтобы файлы ресурсов компилировались с кодом, а также избежать загрузки консольного окна в фоновом режиме.

Разработка приложений в Visual Studio.Если вы не можете позволить себе Visual Studio и являетесь программистом для хобби, подумайте: Visual Studios Express .

Мне также было интересно, есть ли способ компилировать код WIN32 в Linux через GCC илиспособ портировать его для того же компилятора.

Если вы имеете в виду WINAPI, то нет, не так далеко, насколько я знаю.Если вы хотите совместимости, вам следует придерживаться стандартной библиотеки C ++.

Однако существуют универсальные библиотеки, которые могут оказаться полезными:

  1. http://sourceware.org/pthreads-win32/
  2. http://stdcxx.apache.org/#platforms
  3. http://www.gtk.org/download-windows.html
  4. Кроссплатформенные Lbiraries (Stackoverflow)
1 голос
/ 02 апреля 2012

Файлы ресурсов в Eclipse:

В шагах сборки проекта необходимо ввести команду и полный путь к ресурсу и его выходному файлу.

windres ../Resources/resource_file.rc -o ../Debug/resource_file.o

В Настройки инструмента проекта в настройках компоновщика необходимо добавить путь к выходному файлу ресурса, чтобы ресурсы были связаны в исполняемый файл.

../Debug/resource_file.o

Избегать окна консоли:

Флаг компоновщика необходимо указывать только для графического интерфейса.

-mwindows

В затмении :

Введите флаг в проекте Настройки инструмента в Флажки компоновщика .

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