Я завернул свой заголовочный файл C++ во внешнем блоке «C», чтобы разрешить вызывать функции C++ из C. Я включил правильные файлы заголовков в нужные места. Это работает, если я что-то вроде следующего:lstd ++ & extern - вызов C++ из C
g++ -c cpp_src.cc
gcc -c c_src.c
gcc -o c_exe c_src.o cpp_src.o -lstdc++
Но если я удалить -lstdC++ из последней строки, я получаю кучу ошибок. Из-за неподконтрольных мне причин я не могу добавить флаг -lstdC++. Есть ли способ заставить выше работать без -lstdC++? Что такое lstdC++, как в том, как gcc использует его при связывании с компилируемым кодом g ++?
Кроме того, cpp_src.cc использует STL, если это имеет значение.
Я голосую, чтобы закрыть этот вопрос как не относящийся к теме, потому что ОП ставит нереалистичные требования к решениям ... Должен использовать C++, но не может связывать библиотеки C++. –
@DavidHoelzer Если вы не хотите отвечать на него, тогда не делайте этого, но не злоупотребляйте привилегиями вашего близкого друга. –
Спасибо за ваше мнение. –