我有一個f2.cpp文件編譯共享對象庫,調用函數從這樣太
// f2.cpp
#include <iostream>
void f2()
{
std::cout << "It's a call of f2 function" << std::endl;
}
我用的crosstool編譯器GCC cygwin的。
g++ -fPIC -c f2.cpp
g++ -shared -o libf2.so f2.o
我有一個libf2.so文件。現在我想在f1庫(共享對象)中調用f2函數libf1.so。
這是一個f1.cpp,我想採取f1.so
// f1.cpp
#include <iostream>
void f1()
{
std::cout << "f1 function is calling f2()..." << std::endl;
f2();
}
我該怎麼編譯f1.cpp?我不想使用dlclose,dlerror,dlopen,dlsym ... А最後我想在main.cpp中使用f1.so作爲共享對象庫...不使用dlclose,dlerror,dlopen,dlsym 。如何編譯main.cpp,何時會有f1.so?
// main.cpp
#include <iostream>
int main()
{
f1();
return 0;
}