Ресурсы в статическом файле lib - MFC
-
10-07-2019 - |
Вопрос
Похоже, MFC не запускает мои диалоговые окна, потому что не может найти идентификаторы ресурсов. Диалоговые окна находятся в отдельном файле .lib (поэтому он имеет отдельный файл .rc, который, как я предполагаю, каким-то образом конфликтует с файлом в моем файле .exe). Как мне справиться с этой ситуацией?
Решение
В файле .rc для файла .exe добавьте строку, подобную этой:
#include "YourLibResourceFile.rc"
Затем в настройках проекта .exe добавьте дополнительный каталог include в каталог YourLibResourceFile.rc в разделе «Ресурсы / Дополнительные каталоги включения».
Другие советы
Нельзя хранить ресурсы (содержимое файлов .rc) в статической библиотеке. И поскольку у вас может быть только один «основной» Файл .rc, все остальные файлы .rc должны быть включены в него с помощью оператора #include
, как объяснено в Smashery (Правка: О! Smashery, вы - ОП!).
Убедитесь, что все ваши идентификаторы ресурсов уникальны.