LINUX.ORG.RU

Ошибка компиляции rc-файла

 ,


0

1

В процессе компиляции возникает такая ошибка:

windres -i Subtotal_resource.rc -o build/Release_Win32/MinGW-Qt5.5.1-Linux/Subtotal_resource_res.o --include-dir=. -DUNICODE -DQT_NO_DEBUG -DQT_AXCONTAINER_LIB -DQT_AXBASE_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SQL_LIB -DQT_XML_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN
Subtotal_resource.rc:5:0: fatal error: when writing output to : No such file or directory
 # endif
 ^
compilation terminated.
windres: can't open file `page:': Invalid argument
windres: preprocessing failed.
nbproject/qt-Release_Win32.mk:416: recipe for target 'build/Release_Win32/MinGW-Qt5.5.1-Linux/Subtotal_resource_res.o' failed

Вот сам файл (генерируется автоматом при сборке):

$ cat -n Subtotal_resource.rc
     1  # if defined(UNDER_CE)
     2  #  include <winbase.h>
     3  # else
     4  #  include <windows.h>
     5  # endif
     6
     7  IDI_ICON1       ICON    DISCARDABLE     "C:/cygwin64/home/windev/.netbeans/remote/***.cloudapp.net/sabo-laptop-hp-Linux-x86_64/home/sabo/workspace/Other/Subtotal/images/subtotal.ico"
     8
     9  VS_VERSION_INFO VERSIONINFO
    10          FILEVERSION 2,1,0,0
    11          PRODUCTVERSION 2,1,0,0
    12          FILEFLAGSMASK 0x3fL
    13  #ifdef _DEBUG
    14          FILEFLAGS VS_FF_DEBUG
    15  #else
    16          FILEFLAGS 0x0L
    17  #endif
    18          FILEOS VOS__WINDOWS32
    19          FILETYPE VFT_DLL
    20          FILESUBTYPE 0x0L
    21          BEGIN
    22                  BLOCK "StringFileInfo"
    23                  BEGIN
    24                          BLOCK "040904b0"
    25                          BEGIN
    26                                  VALUE "CompanyName", "\0"
    27                                  VALUE "FileDescription", "\0"
    28                                  VALUE "FileVersion", "2.1.0.0\0"
    29                                  VALUE "LegalCopyright", "\0"
    30                                  VALUE "OriginalFilename", "Subtotal.exe\0"
    31                                  VALUE "ProductName", "Subtotal\0"
    32                                  VALUE "ProductVersion", "2.1.0.0\0"
    33                          END
    34                  END
    35                  BLOCK "VarFileInfo"
    36                  BEGIN
    37                          VALUE "Translation", 0x0409, 1200
    38                  END
    39          END
    40  /* End of Version info */
    41

если написать include <winbase.h> или include <windows.h> в любой файл cpp, то include успешно проходит (т.е. файлы winbase.h и windows.h в системе есть).

Qt 5.5.1 с mingw492_32. ОС: Windows Server 2008. На другой машине (с теми же Qt и Mingw), но с Win7 компилирует без ошибок (файлы Subtotal_resource.rc идентичны).

В чём может быть проблема?

★★

Видимо компилятор ресурсов из студии отличается от MinGW'овского windres.

Переписывай генератор.

EXL ★★★★★
()
Ответ на: комментарий от slovazap

Хотя не, MSDN говорит инклудить. Тогда да - на винфак.

slovazap ★★★★★
()

Под винду лучше всего использовать студийный оптимизирующий компилятор, а не MinGW, хоть последний и удобен.

Qt поставляется и в сборках для msvc++.

EXL ★★★★★
()
Ответ на: комментарий от BruteForce

Толерастия FTW

Не должны. Но и гнать ссаными тряпками только за факт использования винды тоже не должны.

Stil ★★★★★
()
Ответ на: комментарий от slovazap

Это сгенерированный код (netbeans'ом или самим Qt).

SaBo ★★
() автор топика
4 февраля 2016 г.

Проблема была в том, что при входе в консоль автоматом выполняется

chcp 65001

Убрал - заработало.

SaBo ★★
() автор топика
15 апреля 2016 г.
Ответ на: комментарий от SaBo

RC-файл

Здравствуйте, в проект VS я добавил ресурс, что бы добавить информацию в exe файл(свойства типо версия и т.д.). Как с таким файлом компилировать в консоли? Компилируя просто *.cpp информация с *.rc файла не добовляется в exe. Спасибо.

MyLogin
()
Ответ на: RC-файл от MyLogin

Здравствуйте.

Нужно ковырять настройки студии чтобы она передала файл ресурса qmake'у. Какие именно - не знаю, давно не пользовался студией.

Сам rc-файл можно скомпилировать командой:

rcc -binary myresource.qrc -o myresource.rcc

Но Qt должен делать это самостоятельно. В файл проекта (myproject.pro) нужно прописать:

RESOURCES += myresource.qrc
SaBo ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.