0

こんにちは、rcpp を使用しようとしています。このために、lib-file (と同じ名前) を使用して dll をロードする cpp コードが必要です。私が実行させたコードは次のとおりです。

cppFunction(includes=c("#include "windef.h","#include \"C:/data/Rdata/IHUAPI.H\" "), 'int functietom(int a){long serverhandle;int lRet;lRet = ihuConnect ( "historian1",NULL,NULL, &serverhandle ); return 5;}', verbose  
 = TRUE)

次のエラーが表示されます。

`ihuConnect@16' collect2 への未定義の参照: ld が 1 つの終了ステータスを返しました inDL(x, as.logical(local), as.logical(now), ...) でエラーが発生しました:
共有オブジェクト 'C:/Users を読み込めません/user1663/AppData/Local/Temp/RtmpSW1Ki7/sourcecpp_1a04df63309/sourceCpp_26588.dll': LoadLibrary エラー:

ihuConnect関数は ファイルと ファイルにありihuapi.libますihuape.dll 。Visual Studio の c++ では、追加の依存関係として lib ファイルを追加すると、このエラーが発生することもあり、コンパイルで lib ファイルを追加するのを忘れていたため、このエラーを取り除きます。

したがって、私の質問は次のとおりです。この lib ファイルをコンパイルのオプションとして追加するにはどうすればよいですか。

dyn.load を使用する場合

(「C:/data/Rdata/ihUAPI.dll」)

そして、それがロードされているかどうかを確認してから、彼は「はい」と言います

そのため、dllには関数が含まれていないようですが、ビジュアルスタジオから使用すると含まれます。

lib-files と ddl-files のヘルプをお願いします

トム・ワンベック

4

1 に答える 1

1

Rcpp FAQエントリ 2.9「Visual Studio で Rcpp を使用できますか?」を見逃していました。

そして、すべてのサスペンスを殺すために: いいえ、できません。

于 2013-10-16T12:22:55.590 に答える