/src/DB/sqlite3.dll:文件无法识别:无法识别文件格式

时间:2016-02-04 07:46:02

标签: c++ c++11 dll sqlite

我试图在我的cpp项目中包含一个sqlite3但是在编译时它会给出以下错误:

  

g ++ -c -std = c ++ 11 -g src / Main.cpp -I“C:/ Mycode / src / DB”   -L“C:/ Mycode / src / DB”-lsqlite3

     

g ++ -g -o Main.exe Main.o Data.o SqliteApi.o -lws2_32   -L“C:/ Mycode / src / DB”-lsqlite3

     

C:/Mycode/src/DB/sqlite3.dll:无法识别文件:无法识别文件格式

     

collect2.exe:错误:ld返回1退出状态

     

make:*** [Mycode.exe]错误1

我觉得在最后的链接时间里它会给出错误。 我使用自己的make文件进行编译,下面是我正在使用的make命令:

DB_DIR="C:/Mycode/src/DB"

clean:
    rm Main.o Main.exe

Main.exe: Main.o Data.o SqliteApi.o 
    g++ -g -o Main.exe Main.o Data.o SqliteApi.o -lws2_32 -L${DB_DIR} -lsqlite3 

Main.o: src/Main.cpp
    g++ -c -std=c++11 -g src/Main.cpp -I${DB_DIR} -lsqlite3

Data.o: src/Data.cpp
    g++ -c -std=c++11 -g src/Data.cpp

SqliteApi.o: src/SqliteApi.cpp
    g++ -c -std=c++11 -g src/SqliteApi.cpp

我用Google搜索了但是我找不到任何有关此错误的解决方案或建议。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

recommended way of using the SQLite library是将amalgamation源文件直接编译到你的程序中:

Main.exe: Main.o Data.o SqliteApi.o 
    g++ -g -o Main.exe Main.o Data.o SqliteApi.o sqlite3.o -lws2_32

sqlite3.o: src/sqlite3.c
    gcc -c ... src/sqlite3.c