参考
http://www.cjjjs.com/article/2017814153553753
http://www.cjjjs.com/article/201712281844417
http://www.cjjjs.com/article/2017110232024634
https://devblogs.microsoft.com/cppblog/visual-c-for-linux-development-with-cmake/
http://www.cnblogs.com/xylc/p/6533716.html
https://docs.microsoft.com/zh-cn/cpp/linux/prop-pages/directories-linux?view=vs-2019
https://docs.microsoft.com/zh-cn/cpp/linux/configure-a-linux-project?view=vs-2017
https://docs.microsoft.com/zh-cn/cpp/linux/prop-pages/linker-linux?view=vs-2019
https://www.cnblogs.com/lonelyxmas/p/10592084.html
记录下 配置
注:连接器中是设置linux环境的
注:引用库libpq.so ,需要写成pq,去掉lib和.so
源码下载地址:
https://download.csdn.net/download/flowerspring/11102979
vs2017源码
#include <iostream>
#include "gdal.h"
#include "libpq-fe.h"
using namespace std;
#include <stdio.h>
#include <stdlib.h>
void do_exit(PGconn *conn)
{
PQfinish(conn);
exit(1);
}
int main(int argc, char * argv[])
{
cout << "Hello!Honey!" << endl;
PGconn *conn = PQconnectdb("hostaddr=192.168.5.9 user=zhu password=123456 dbname=testdb");
if (PQstatus(conn) == CONNECTION_BAD)
{
fprintf(stderr, "Connection to database failed:%s\n",
PQerrorMessage(conn));
do_exit(conn);
}
char *user = PQuser(conn);
char *db_name = PQdb(conn);
char *pswd = PQpass(conn);
printf("User:%s\n", user);
printf("Db name:%s\n", db_name);
printf("Psw:%s\n", pswd);
PQfinish(conn);
cout << "!!!Hello World!!!" << endl;
return 0;
}
vs2017调试结果
linux结果
.out文件就是扩展名为out的文件,它本身不代表任何信息。在Linux中判断文件是否是可执行文件,首先要看文件的属性是否是可执行的,它没有一个默认的扩展名表示此文件为可执行文件。为了方便,Linux中可执行文件一般都是没有扩展名的。
在使用gcc编程时,没有指定输入可执行文件名,默认生成可执行文件a.out文件。执行时必须键入命令 ./a.out,即要带上扩展名,如果键入./a 则不正确,因为它寻找a这个文件,而不是a.out这个文件。