簡體   English   中英

嘗試通過C ++程序連接到Postgresql

[英]trying to connect to postgresql via c++ program

背景

我正在運行linux ...,並且正在嘗試編寫一個基本的c ++小程序,該程序可以連接到postgresql數據庫。

我正在嘗試遵循本文http://www.tutorialspoint.com/postgresql/postgresql_c_cpp.htm

問題

我已經能夠編譯該庫了...現在我可以看到我的計算機上有以下文件夾/ usr / local / include / pqxx

但是,當我嘗試編寫一些基本代碼並對其進行編譯時,出現以下錯誤:

devbox2:/var/abus# g++ testdb.cpp -lpqxx -lpq
testdb.cpp:2:22: fatal error: pqxx/pqxx: No such file or directory
 #include <pqxx/pqxx> 
                      ^
compilation terminated.

源代碼

代碼如下所示:

  1 #include <iostream>
  2 #include <pqxx/pqxx>
  3 
  4 using namespace std;
  5 using namespace pqxx;
  6 
  7 int main(int argc, char* argv[])
  8 {
  9    try{
 10       connection C("dbname=testdestination user=testuser password=testpassword \
 11       hostaddr=127.0.0.1 port=5432");
 12       if (C.is_open()) {
 13          cout << "Opened database successfully: " << C.dbname() << endl;
 14       } else {
 15          cout << "Can't open database" << endl;
 16          return 1;
 17       }
 18       C.disconnect ();
 19    }catch (const std::exception &e){
 20       cerr << e.what() << std::endl;
 21       return 1;
 22    }
 23 }

到目前為止,我已經嘗試過:

我一直在瀏覽/ usr / local / include / pqxx文件夾,我可以看到有一個名為pqxx的文件...但是它沒有任何擴展名。

這是該文件夾的ls -lah命令的摘錄:

-rw-r--r--    1 root     root         637 Dec  8 21:42 pipeline
-rw-r--r--    1 root     root        7.5K Dec  8 21:42 pipeline.hxx
-rw-r--r--    1 root     root        1.1K Dec  8 21:42 pqxx
-rw-r--r--    1 root     root         728 Dec  8 21:42 prepared_statement
-rw-r--r--    1 root     root        8.2K Dec  8 21:42 prepared_statement.hxx

我還確保我的PATH包含/ usr / local / include / pqxx文件夾。 這是我的PATH的樣子:

PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/gcc:/usr/local/include/pqxx:/usr/local/include'

我不確定應該檢查什么。 任何建議,將不勝感激。 謝謝。

要查找包含文件,必須添加-I選項,例如

g++ -I/usr/local/include testdb.cpp -lpqxx -lpq

PATH中添加目錄無濟於事, PATH是用於從Shell定位可執行文件的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM