Поскольку этот пост стал намного больше, чем следовало бы, я начал снова.Приложение имеет 2 статических переменных области
Моя проблема в том, что для некоторого резонанса часть моего проекта на C++ автоматически компилируется в общую библиотеку и поэтому больше не разделяет статическую область с остальной частью моей кодовой базы.
Я выделил причину этого, но до сих пор не понимаю, почему это произойдет.
Я интегрирую в общий проект стороннюю библиотеку, которая требует от меня добавления некоторых классов в мой проект.
Если я только ссылаюсь на библиотеку и включаю заголовки, мой проект выводит exe-файл, и все персиковое.
Второе, что я добавляю:
(CAkFilePackageLowLevelIOBlocking это один из классов, я должен был добавить через CPP код для моего проекта)
protected:
CAkFilePackageLowLevelIOBlocking m_LowLevelIO;
в моем классе Soundmanager, а затем построить, я получаю эта дополнительная линия в конце говорит мне, его вывод .lib и .exp файл:
1> Generating Code...
1> Creating library D:\DustCloud\WorkingCopy\src\VS2010\Debug\GameDbg.lib and object D:\DustCloud\WorkingCopy\src\VS2010\Debug\GameDbg.exp
1> VS2010.vcxproj -> D:\DustCloud\WorkingCopy\src\VS2010\Debug\GameDbg.exe
Таким образом, чтобы получить возможность отправлять гораздо более простой вопрос,
Что может быть причиной моего проекта для создания .lib-файла просто путем добавления члена класса типа, предоставленного мне библиотекой?
Может ли это быть прагма-def или что-то подобное где-то в тех классах, которые вызывают выход .lib?
Я использую VS2010 и строить обычное старый win32 приложение C++
Я не понимаю, что вы подразумеваете под словом «карта имеет раскол» - если вы объявляете одну карту в своем коде, она не может разделиться. Можете ли вы показать код для иллюстрации? –
Кажется, я помню, что глобальные и, следовательно, синглтоны определены для каждой общей библиотеки, поэтому да, если классы зарегистрированы в библиотеке, они будут находиться в отдельном синглете. (нет ответа, потому что я не уверен) – stefaanv
@stefaanv - Я уверен, что это точно ответ – vines