- ming gccを使用したdev c ++ IDEを使用しています(よくわかりません)
- win32 c アプリケーションで sqlite3 を使用したかった
- sqlite3.dll と sqlite3.dev をダウンロードし、dlltool を使用して libsqlite3.a のような .a ファイルを作成し、dev cpp の lib フォルダーに貼り付けて、このパスをプロジェクト オプション -> パラメーターに追加しました。
- ヘッダー ファイル sqlite3.h をインクルード フォルダーにコピーしました (これは別の Web サイトから取得しました - http://www.opensource.apple.com/source/SQLite/SQLite-74/derived_source/sqlite3.h )
- プログラムを実行したところ、「コンピューターに sqlite3.dll が見つからないため、プログラムを開始できません」というメッセージが表示されました。
- だから私は自分の作業ディレクトリにsqlite3.dllをコピーし、それが働いた
しかし
コンパイル中にsqlite.*を静的にする方法は?
つまり、libsqlite3.a を含めることで、最終的な exe は外部の dll に依存しないと考えました。
だから私はdllを必要としない方法でコンパイルする方法を知りたいです。そうすることで、私のWindowsプログラムがスタンドアロンになります。
.a ファイルの代わりに .lib ファイルを作成する必要がありますか?
回答とコメントの後に編集:さらに、devpakは正常に動作しています...それでも、プロジェクトにファイルを含める方法または.aファイルを作成する方法を知りたかったので、一部のコンポーネントがdevpakを提供しない場合、これはコンパイルする必要がある方法です..そうではありませんか?
CLによる回答と2つのコメントの後に私が何をしたかを示す編集
これは、sqlite.cをプロジェクトリストに追加した方法です
コンパイルログはこちら
コンパイラ: デフォルトのコンパイラ
Makefile のビルド: "C:\Users\jayapalc\Documents\test-sqlite\Makefile.win"
メイクを実行しています...
make.exe -f "C:\Users\jayapalc\Documents\test-sqlite\Makefile.win" すべて
g++.exe -c sqlite3.c -o sqlite3.o -I"lib/gcc/mingw32/3.4.2/include" -I"include/c++/3.4.2/backward" -I"include/c++/3.4. 2/mingw32" -I"include/c++/3.4.2" -I"include"
sqlite3.c: 関数 `void strftimeFunc(sqlite3_context*, int, sqlite3_value**)' 内:
sqlite3.c:14727: エラー:
void*' to
char* からの無効な変換 '
sqlite.org/sqlite-amalgamation-3071502.zip で取得したファイルは
shell.c、sqlite3.h、sqlite3.c、sqlite3ext.h、および私は他の議論でshell.cが必要ないことを見ました...
その上、人々は gcc と g++ について話していました... .