Управление «положением» кода при компиляции (.dll / .lib)
Рассмотрим проект одной из .dll библиотек.
Среди всего прочего в нём имеется определённый набор классов в .hpp и тела их методов в .cpp файлах. Во время компиляции создаётся сам .dll файл, а также файлы для подлинковки его к другим - .exp и .lib. Если первый я успешно грохаю после сборки, второй мне адекватно нужен.
Теперь вопрос. Имеется ли способ указать для набора классов, чтобы их скомпилированный код был размещён не в самой .dll, а в этом прилагаемом .lib?
1. На 99% уверен, что получаемый библиотекарем любой другой .lib от этого моего .lib - ничем не отличается.
2. Вариант решения [COLOR="purple"]создать еще один .lib-проект, в котором реализовать упомянутые классы с подключённой .dll[/COLOR] не годится - проектов много, такое деление кода слишком избыточно. Перенести код из этого проекта в другой .lib проект - не прокатывает по эстетическим соображениям - логически классы относятся к этому куску решения.
Подскажите, какие есть соображения по этому вопросу? Пытаюсь искать в районе __declspec и #pragma, но вроде глухо.
http://msdn.microsoft.com/en-us/library/ms235627%28v=VS.90%29.aspx
On the Application Settings page of the Win32 Application Wizard, under Application type, select Static library.
Хотя, после всех вчерашних поисков, начинаю задумываться, что превратить .dll полностью в .lib - возможно, будет адекватно.
В любом случае, спасибо.
Ну если чисто классы - то можно просто их скомпилированый obj добавлять к проектам.