Я использую некоторую переменную через export и extern, как показано ниже:
text.h
namespace xyz{
__attribute__((visibility("default"))) extern const abccore::id kTextClassID;
}
в text.cpp
namspace xyz
{
extern const abccore::id kTextClassID("ValueClass");
}
теперь в другом файлеMacStartup.cpp
#include "text.h"
__attribute__((constructor))
void MacWorkStartup()
{
auto var = abccore::kTextClassID;
//and use this.
}
Теперь порядок должен быть таким, как если бы сначала kTextClassID получил свое значение, тогда MacWorkStartup должен иметь возможность использовать это. но сначала он пришел к функции MacWorkStartup, где я нашел какое-то мусорное значение, а затем получил его значение в файле cpp. что изменить, что в MacWorkStartup у него будет строка Value.It нормально работала в нашей прошлогодней версии, но из-за обновления xcode или чего-то еще (я не знаю), сейчас она не работает.