Хорошо, поэтому я пытаюсь преобразовать некоторые проекты в DLL. Все это проекты Visual Studio 2008, и все они написаны на C ++.
У нас есть 9 различных проектов (все под 1 решение в Visual Studio 2008). E.g.:
RasterTools\
RasterDataset.h
RasterDataset.cpp
Point.h
Point.cpp
<... insert like 50 more cpp files ...>
CoreTools\
Image.h
Image.cpp
CoreUtilities.h
CoreUtilities.cpp
<... insert more ...>
<... insert 7 or more projects ...>
Теперь дело в том, что некоторые проекты используют классы других проектов. Например, Image.h использует Point.h, а CoreUtilities.h имеет некоторые функции для работы с точками. Как правильно создать библиотеку DLL, когда у вас есть несколько проектов, которые все переплетаются.
В основном мы хотим иметь следующее:
CoreTools.dll
RasterTools.dll
<other projects.dll>
Я понимаю, как правильно обрабатывать __declspec (dllexport) и dllimport через макросы. Но когда я пытаюсь построить, например, CoreTools.dll, я получаю ошибки компоновщика, где бы я ни использовал класс или функциональность, не содержащуюся в этом проекте. Например, при создании coreTools.dll я получаю ошибки компоновщика для любой из функций класса Point.
Как я могу справиться с этим?
EDIT
Я попробовал это, и в основном я заметил, что почти все флажки были недоступны, так как это приводит к круговым зависимостям. (