линковка ресурса .lib в .exe
От: Abobrov  
Дата: 19.11.04 11:36
Оценка:
Не поможете ли разобраться в проблеме?
В проекте статической либы определил ресурс (текстовый файл). Построенная либа содержит этот ресурс — проверил. Линкую либу при сборке проекта выполнимого — экзешник ресурс уже не содержит.

Я так понимаю, линкер не берет ресурс либы при сборке. Как бы его об этом попросить?

19.11.04 14:38: Перенесено модератором из '.NET' — TK
Re: линковка ресурса .lib в .exe
От: Kluev  
Дата: 19.11.04 11:46
Оценка:
Здравствуйте, Abobrov, Вы писали:

A>Не поможете ли разобраться в проблеме?

A>В проекте статической либы определил ресурс (текстовый файл). Построенная либа содержит этот ресурс — проверил. Линкую либу при сборке проекта выполнимого — экзешник ресурс уже не содержит.

A>Я так понимаю, линкер не берет ресурс либы при сборке. Как бы его об этом попросить?


#pragma comment(linker, "/include:resource_symbol")
Re[2]: линковка ресурса .lib в .exe
От: Abobrov  
Дата: 22.11.04 14:31
Оценка:
Здравствуйте, Kluev, Вы писали:

K>Здравствуйте, Abobrov, Вы писали:


A>>Не поможете ли разобраться в проблеме?

A>>В проекте статической либы определил ресурс (текстовый файл). Построенная либа содержит этот ресурс — проверил. Линкую либу при сборке проекта выполнимого — экзешник ресурс уже не содержит.
A>>Я так понимаю, линкер не берет ресурс либы при сборке. Как бы его об этом попросить?
K>#pragma comment(linker, "/include:resource_symbol")
Насколько я понимаю, таким образом будет необходимо дополнительно прилинковать бинарный ресурсный файл .res, который содержит указываемый символ?

А нельзя ли определить линкеру, чтобы тот, скажем, импортировал секцию .rsrc из статической либы и смержил ее с таковой у исполнимого модуля, либо, в случае отсутствия оной там — просто создал новую на основе импортированной? видел директиву MERGE, которую также можно указывать прагмой для линкера, однако возник вопрос — каким образом определить собственно источник и приемник — поля from и to.

Заранее хочу извиниться, если вопрос чайниковский, и благодарю за ответ.
Re[3]: линковка ресурса .lib в .exe
От: Kluev  
Дата: 24.11.04 09:41
Оценка:
Здравствуйте, Abobrov, Вы писали:

A>Здравствуйте, Kluev, Вы писали:


K>>Здравствуйте, Abobrov, Вы писали:


A>>>Не поможете ли разобраться в проблеме?

A>>>В проекте статической либы определил ресурс (текстовый файл). Построенная либа содержит этот ресурс — проверил. Линкую либу при сборке проекта выполнимого — экзешник ресурс уже не содержит.
A>>>Я так понимаю, линкер не берет ресурс либы при сборке. Как бы его об этом попросить?
K>>#pragma comment(linker, "/include:resource_symbol")
A>Насколько я понимаю, таким образом будет необходимо дополнительно прилинковать бинарный ресурсный файл .res, который содержит указываемый символ?

A>А нельзя ли определить линкеру, чтобы тот, скажем, импортировал секцию .rsrc из статической либы и смержил ее с таковой у исполнимого модуля, либо, в случае отсутствия оной там — просто создал новую на основе импортированной? видел директиву MERGE, которую также можно указывать прагмой для линкера, однако возник вопрос — каким образом определить собственно источник и приемник — поля from и to.


A>Заранее хочу извиниться, если вопрос чайниковский, и благодарю за ответ.


Этого я и сам не знаю. ИМХО в данном случае проще переделать ресурс в С++ файл. и включить его в либу.
Что-то типа:
const char rsc[] = { 0xAA, 0хBB, ... };
Это можно зделать например програмкой reswrap из библиотеки FOX fox-toolkit.org
А вообще таких программок полно.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.