Cлинковать обьектный файл в котором уже есть main в свою программу
Допустим, есть файлы tool.cpp
, tool.h
и my_tool.cpp
Где в tool.h
объявлены какие-то вспомогательные функции, которые реализованы в tool.cpp
. Кроме того, в tool.cpp
есть main
.
В my_tool.cpp
мне хочется использовать все эти замечательные функции из tool.h
, однако имеющийся там main
мешается.
Решения здорового человека в «духе перетащить все функции в хедер», вынести main
из tool.cpp
понятны и разумны, но можно ли как-то сказать линкеру чтобы вместо
multiple definition of `main'; my_tool.cpp:19: first defined here
Он просто взял конкретный main, а второй выкинул?
P.S.
Если собирать через afl-cc
, то проблемы с линкером нет, левый main
не участвует. Я посмотрел какие флаги он добавляет, но там ничего похоже нет, просто свои символы еще.