Что я делаю не так? $ cat libexample.h class example_class{ public: example_class(){}; virtual ~example_class(){}; }; extern example_class* example_creator(); $ cat libexample.cpp using namespace std; #include <iostream> #include "libexample.h" void _init(){ cout << "Library libexample loaded" << endl; }; void _fini(){ cout << "Library libexample unloaded" << endl; }; class example_class2 : public example_class { public: example_class2() { cout << "Example2's constructor is called" << endl; } virtual ~example_class2() { cout << "Example2's destructor is called" << endl; } }; example_class* example_creator() { return new example_class2; } $ cat main.cpp using namespace std; #include "libexample.h" int main() { example_class *ex = example_creator(); delete ex; return 0; } собираю: $ g++ -shared -fPIC -nostartfiles -o libexample.so libexample.cpp $ g++ -o main -L./ -lexample main.cpp /usr/bin/ld: main: hidden symbol `__dso_handle' in /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/crtbegin.o is referenced by DSO /usr/bin/ld: final link failed: Nonrepresentable section on output collect2: ld returned 1 exit status
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум [C++] [Жаба] Это магия? (2008)
- Форум Виртуальный метод вызывается из реализации родителя, а не потомка (2014)
- Форум [C++] Перегрузка new и delete в производном классе (2011)
- Форум libdl и обратные ссылки (2017)
- Форум Интересное имя класса после оператора typeid (2004)
- Форум Валится на throw (2005)
- Форум 'this' in lambda and in class method is not the same when using vector of std::thread (2021)
- Форум Содержит ли данный код UB? (2018)
- Форум Ниасилил C++ vector<unique_ptr<T>> list initialization (2016)
- Форум Function template with a template argument. (2013)