В данном проекте C ++ я пытаюсь заменить основной файл на свой newEntry.cpp:
void entry(){
...
}
Согласно некоторым сообщениям в Интернете, для этого вам следует использовать следующие параметры компоновщика:
-e entry newEntry.cpp -nostartfiles
-e "символ" "файл" передает новый основной файл компоновщику, а -nostartfiles пропускает файл crt *, поэтому он не предоставляет фактическую основную часть.
Проблема в том, что в crt определен скрытый символ _dso_handler, поэтому, используя этот подход, вы получите следующую ошибку:
/usr/include/c++/4.7/iostream:75: undefined reference to `__dso_handle'
-nostartfilesвызывая новую проблему здесь.Как я мог решить это?Я мог бы попытаться предоставить _dso_handle (я не знаю как), но я подозреваю новые ошибки, связанные с тем, что файл crt * опущен.В некоторых статьях я читал, что использование -nostartfiles для изменения точки входа в проект C / C ++ сегодня устарело.
Так есть ли другой способ изменить основную часть моего проекта?
Заранее благодарю за помощь