Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql CMake找不到include libpq fe.h_Postgresql_Cmake_Mingw32_Mingw W64 - Fatal编程技术网

Postgresql CMake找不到include libpq fe.h

Postgresql CMake找不到include libpq fe.h,postgresql,cmake,mingw32,mingw-w64,Postgresql,Cmake,Mingw32,Mingw W64,我正在尝试构建一个需要libpq fe.hinclude文件的程序 此文件位于E:\MinGW\msys\1.0\local\pgsql\include 在我的CMakeLists.txt中,我有: cmake_minimum_required(VERSION 3.0) # declare project PROJECT(localscp) set(pg_SOURCE_DIR /usr/local/pgsql) INCLUDE_DIRECTORIES( "E:/MinGW/msys/1.

我正在尝试构建一个需要
libpq fe.h
include文件的程序

此文件位于
E:\MinGW\msys\1.0\local\pgsql\include

在我的CMakeLists.txt中,我有:

cmake_minimum_required(VERSION 3.0)
# declare project
PROJECT(localscp)

set(pg_SOURCE_DIR /usr/local/pgsql)

INCLUDE_DIRECTORIES(
  "E:/MinGW/msys/1.0/local/psql/include"
)

# declare executables
ADD_EXECUTABLE(localscp localscp.cc)
TARGET_LINK_LIBRARIES(localscp 
  dl pthread z pq)
当我做
cmake.
时,我得到:

-- Configuring done
-- Generating done
-- Build files have been written to: E:/informemedico/localscp
[ 50%] Building CXX object CMakeFiles/localscp.dir/localscp.cc.obj
E:\informemedico\localscp\localscp.cc:24:22: fatal error: libpq-fe.h: No such file or directory compilation terminated.
CMakeFiles\localscp.dir\build.make:62: recipe for target 'CMakeFiles/localscp.dir/localscp.cc.obj' failed
mingw32-make[6]: *** [CMakeFiles/localscp.dir/localscp.cc.obj] Error 1
CMakeFiles\Makefile2:66: recipe for target 'CMakeFiles/localscp.dir/all' failed
mingw32-make[5]: *** [CMakeFiles/localscp.dir/all] Error 2
makefile:82: recipe for target 'all' failed
mingw32-make[4]: *** [all] Error 2
当我做
mingw32 make
时,我得到:

-- Configuring done
-- Generating done
-- Build files have been written to: E:/informemedico/localscp
[ 50%] Building CXX object CMakeFiles/localscp.dir/localscp.cc.obj
E:\informemedico\localscp\localscp.cc:24:22: fatal error: libpq-fe.h: No such file or directory compilation terminated.
CMakeFiles\localscp.dir\build.make:62: recipe for target 'CMakeFiles/localscp.dir/localscp.cc.obj' failed
mingw32-make[6]: *** [CMakeFiles/localscp.dir/localscp.cc.obj] Error 1
CMakeFiles\Makefile2:66: recipe for target 'CMakeFiles/localscp.dir/all' failed
mingw32-make[5]: *** [CMakeFiles/localscp.dir/all] Error 2
makefile:82: recipe for target 'all' failed
mingw32-make[4]: *** [all] Error 2

为什么编译器找不到包含文件?./p>你的C++文件中有什么?可能不仅仅是
#包括
,对吧?通常使用
find\u包(PostgreSQL)
或它的名称。然后,您只需将包含和库添加到目标。在您的CMakeLists.txt目录组件是
psql
,但应该是
pgsql
。谢谢@齐瓦雷夫:我真蠢。请添加您的评论作为答案,让我标记为正确。因此不存储问题,该决定只需要修复印刷错误。这对你有帮助,而且已经足够了。