我正在尝试编写这样的代码:(未完成)

 #include"header.h"
 #include<stdlib>
 #include<stdio.h>
 #include<libpq-fe.h>
 #include<string>

 int main(){
  std::string pguser = "XYZ";
  std::string pgpassword = "XYZ";
  std::string pghost="XYZ";
  std::string pgdbname = "XYZ";
  int i;
  PGconn *conn;
  PGresult *res;

  connstr = "user=";
  connstr += pguser;
  connstr +="password=";
  connstr += pgpassword;
  connstr +="host=";
  connstr += pghost;
  connstr +="dbname=";
  connstr += pgdbname;

  //DB-Login
  conn = db_login(const string &user, const string &password, const string        &host, const string &dbname);
  if(conn == true){
  printf("LOGIN SUCCESFULLY");
  }else{
     printf("LOGIN FAILED");
  }

  return 0;

  }


我的标题

 #ifndef DB_H
 #define DB_H

 #include <string>

 using namespace std;

 int db_login(const string &user, const string &password, const string  &host, const string &dbname);
 #endif


我只是想测试一下(sudo gcc main.c header.h -o test)
我得到的结果是:没有这样的文件或目录#include字符串

我搜索了一个解决方案并尝试了它,但出现了同样的错误。
(也已安装-> sudo apt-get install build-essential


请帮忙

最佳答案

您正在编写C ++代码,但是尝试将其编译为C-gcc是C语言的前端,因此请使用g++。还将源文件从.c重命名为.cpp,以从make(1)获得自动支持。

关于c++ - Ubuntu-没有这样的文件或目录#include <string>,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30219754/

10-13 03:20