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
。谢谢@齐瓦雷夫:我真蠢。请添加您的评论作为答案,让我标记为正确。因此不存储问题,该决定只需要修复印刷错误。这对你有帮助,而且已经足够了。