Я пытаюсь скомпилировать базовый класс шаблона оболочки-массива в файл .o, чтобы попытаться выяснить, как создавать динамические библиотеки.Однако при компиляции источника с
g++ -std=c++0x -c array.cpp
результирующий файл имеет размер всего ~ 650 байт.Я проверил файл с помощью nm и обнаружил, что в нем содержались только символы
00000001 r _ZStL13allocator_arg
00000000 r _ZStL19piecewise_construct
, которые, похоже, являются особенностями компиляции C ++ 11, как при компиляции без флага -std = c ++ 0xони пропали.
Попытка скомпилировать тестовый код программы и все с помощью команды
g++ -std=c++0x -o tester tester.cpp array.cpp
приводит к ошибкам компоновщика для всего в файле array.cpp, но в остальном компилируется чисто.
Я, честно говоря, понятия не имею, что с этим происходит.Я могу опубликовать содержимое array.cpp и array.hpp, если вы подозреваете, что это проблема с моим кодом, а не с тем, как я его компилирую.