teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

追記1

2019/09/27 02:35

投稿

BeatStar
BeatStar

スコア4962

title CHANGED
File without changes
body CHANGED
@@ -94,4 +94,31 @@
94
94
  言語: C++
95
95
  基本的なコンパイラ: MinGW (g++ 8.1.0)
96
96
  ライブラリをコンパイルするために使ったもの: Gnupack (gnupack-pretest_devel-2018.11.25)
97
- 使いたいライブラリ: cryptopp
97
+ 使いたいライブラリ: cryptopp
98
+
99
+ ---
100
+
101
+ [追記1]
102
+
103
+
104
+ 外出先からだったので、帰宅後、試してみました。
105
+
106
+ y_waiwaiさんのおっしゃるように、ar -t <ライブラリ> でチェックしてみました。
107
+ 一応、必要なものは入っていました。
108
+ しかし、それでも...ということで、「GNUPackでsample.exeにしてみたらどうだろうか」
109
+ と思い、ほぼ同じコマンドライン引数でコンパイルしたところ、
110
+ うまくいきました。(コンパイルエラー,リンケージエラー、共に無し)
111
+
112
+ libcryptopp.a を DLLにリンクして サンプルコードのmain関数を別の関数として
113
+ (適当な名前でrunEx関数とした)やって、動的リンクを行いました。
114
+
115
+ DLLはGNUPackで、実行ファイルはMinGWでやってみたところ、DLL内の関数にアクセスできず。
116
+
117
+ 実行ファイルもGNUPackでコンパイルしたところ、うまくいきました。(文字化けはするが、
118
+ それは別の問題なのでスルー)
119
+
120
+ VC++でDLLを作り、MinGWで実行ファイルを作ったときのように、マングリング? が違うのかなぁと。
121
+
122
+ どうにかGNUPackとMinGW で使えないかなぁと...
123
+
124
+ できれば、基本はMinGWでやりたいのですが...