«Проблема» может быть легко воспроизведена. Как это: < /p>
file main1.cpp < /p>
Код: Выделить всё
#include
int main()
{
std::cout
#include
int main()
{
std::cout
g++ -c main1.cpp
ar rvs main1.a main1.o
g++ -c main2.cpp
ar rvs main2.a main2.o
g++ main1.a main2.a
./a.out
Код: Выделить всё
Hello, World 1!
и если, например, приложение модульного тестирования создано из статических библиотек, которые содержат несколько определений важных функций, модульный тест может даже не проверить, что он должен проверить. < /p> < Br /> Конечно, настройка может быть исправлена путем удаления нескольких определений. Но это не предотвращает непреднамеренное повторное применение нескольких определений в будущем.
Есть ли способ автоматически обнаружить и/или предотвратить несколько определений в статических библиотеках и для будущего? п>
Подробнее здесь: https://stackoverflow.com/questions/794 ... -prevented
Мобильная версия