わかりました、私は今2日間の解決策を探しています。問題を解決するものが見つかりませんでした。
現在何が起こっているのですか?そこで、g++を使用してLinuxMint Maya 13でダイナミックライブラリ(.so)を作成してみました。
foolib.h:
#pragma once
#include <stdio.h>
void foo(
void
);
foolib.cpp:
#include "foolib.h"
void foo(
void
)
{
printf ("Hello World!\n");
};
main.cpp:
#include "foolib.h"
int main(
int argc,
char** argv
)
{
foo ();
};
私はこれらのファイルをこれらの指示でコンパイルしました:
libfoo.so:
g++ -shared -o libfoo.so -fpic foolib.cpp
foo:
g++ main.cpp -o foo -L -lfoo
libfoo.soの作成はエラーなしで機能しますが、fooは未定義の参照「foo」をスローします。いくつかのWebページからサンプルコードをコピーしてコンパイルしようとしましたが、常に同じ結果になりました。
面白いのは、do libdl.so(-ldl)をリンクして、.soと関数をロードできることです。私は何が間違っているのですか?
質問を正しく定式化できればと思います。私がしなかったかどうか教えてください。:)