У меня есть пространство имен со встроенной функцией, которое будет использоваться, если несколько исходных файлов.При попытке связать мое приложение встроенные функции сообщаются как дубликаты символов.Кажется, будто мой код просто не встроил бы функции, и мне было интересно, является ли это ожидаемым поведением и как лучше с ним справиться.
Я использую следующие параметры gcc: -g -Wextra -pedantic -Wmissing-field-initializers -Wredundant-decls -Wfloat-equal -Wno-reorder -Wno-long-long Похоже, что при компиляции в среде VC7 одинаковый стиль кода компилируется и связывается правильно.
В следующем примере кодапоказывает структуру кода:
/* header.h */
namespace myNamespace {
inline bool myFunction() {return true;}
}
/* use_1.cpp */
#include "header.h"
...
bool OK = myNamespace::myFunction();
...
/* use_2.cpp */
#include "header.h"
...
bool OK = myNamespace::myFunction();
...