- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
无法在 CLion 1.2 EAP 中使用 PostgreSQL 构建 C++ 文件。
CMake 文件:
cmake_minimum_required(VERSION 3.3)
project(PostgreSQLTest)
find_package(PostgreSQL REQUIRED)
set(PostgreSQL_INCLUDE_DIRS, "C:\\Program Files\\PostgreSQL\\9.4\\include")
include_directories (${PostgreSQL_INCLUDE_DIRS})
set(SOURCES main.cpp)
add_executable(PostgreSQLTest ${SOURCES})
set(PostgreSQL_LIBRARIES, "C:\\Program Files\\PostgreSQL\\9.4\\lib")
target_link_libraries(PostgreSQLTest ${PostgreSQL_LIBRARIES})
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(SOURCE_FILES
CMakeLists.txt
main.cpp)
构建消息:
"C:\Program Files (x86)\JetBrains\CLion 142.4859.12\bin\cmake\bin\cmake.exe" --build C:\Users\darin\.CLion12\system\cmake\generated\f846c544\f846c544\Debug --target PostgreSQLTest -- -j 8
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/darin/.CLion12/system/cmake/generated/f846c544/f846c544/Debug
[ 50%] Linking CXX executable PostgreSQLTest.exe
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot find -llibpq
collect2.exe: error: ld returned 1 exit status
mingw32-make.exe[3]: *** [PostgreSQLTest.exe] Error 1
CMakeFiles\PostgreSQLTest.dir\build.make:96: recipe for target 'PostgreSQLTest.exe' failed
mingw32-make.exe[2]: *** [CMakeFiles/PostgreSQLTest.dir/all] Error 2
CMakeFiles\Makefile2:66: recipe for target 'CMakeFiles/PostgreSQLTest.dir/all' failed
CMakeFiles\Makefile2:78: recipe for target 'CMakeFiles/PostgreSQLTest.dir/rule' failed
Makefile:117: recipe for target 'PostgreSQLTest' failed
mingw32-make.exe[1]: *** [CMakeFiles/PostgreSQLTest.dir/rule] Error 2
mingw32-make.exe: *** [PostgreSQLTest] Error 2
有没有人有过这个构建的经验?
应用 2015-09-21 评论中的更改后进行编辑
cmake_minimum_required(VERSION 3.3)
project(PostgreSQLTest)
set(PostgreSQL_ROOT, "C:\\Program Files\\PostgreSQL\\9.4")
find_package(PostgreSQL REQUIRED)
set(SOURCES main.cpp)
add_executable(PostgreSQLTest ${SOURCES})
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(SOURCE_FILES
CMakeLists.txt
main.cpp)
错误:
"C:\Program Files (x86)\JetBrains\CLion 142.4859.12\bin\cmake\bin\cmake.exe" --build C:\Users\darin\.CLion12\system\cmake\generated\f846c544\f846c544\Debug --target PostgreSQLTest -- -j 8
[ 50%] Building CXX object CMakeFiles/PostgreSQLTest.dir/main.cpp.obj
C:\Users\darin\ClionProjects\PostgreSQLTest\main.cpp:2:22: fatal error: libpq-fe.h: No such file or directory
#include "libpq-fe.h"
^
compilation terminated.
mingw32-make.exe[3]: *** [CMakeFiles/PostgreSQLTest.dir/main.cpp.obj] Error 1
CMakeFiles\PostgreSQLTest.dir\build.make:61: recipe for target 'CMakeFiles/PostgreSQLTest.dir/main.cpp.obj' failed
CMakeFiles\Makefile2:66: recipe for target 'CMakeFiles/PostgreSQLTest.dir/all' failed
mingw32-make.exe[2]: *** [CMakeFiles/PostgreSQLTest.dir/all] Error 2
CMakeFiles\Makefile2:78: recipe for target 'CMakeFiles/PostgreSQLTest.dir/rule' failed
mingw32-make.exe[1]: *** [CMakeFiles/PostgreSQLTest.dir/rule] Error 2
Makefile:117: recipe for target 'PostgreSQLTest' failed
mingw32-make.exe: *** [PostgreSQLTest] Error 2
我已经确认 libpq-fh.h 确实存在于 C:\Program Files\PostgreSQL\9.4\include 中,所以我的 Cmake 文件中肯定还有一些不正确的东西阻止了构建。
我是否缺少构建所需的 target_link_libraries()
?
应用建议的更改后编辑 2
cmake_minimum_required(VERSION 3.3)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
project(PostgreSQLTest)
set(PostgreSQL_ROOT "C:\\Program Files\\PostgreSQL\\9.4")
find_package(PostgreSQL REQUIRED)
set(SOURCES main.cpp)
add_executable(PostgreSQLTest ${SOURCES})
set(PostgreSQL_LIBRARIES "C:\\Program Files\\PostgreSQL\\9.4\\lib")
target_link_libraries(PostgreSQLTest ${PostgreSQL_LIBRARIES})
set(SOURCE_FILES
CMakeLists.txt
main.cpp)
错误:
"C:\Program Files (x86)\JetBrains\CLion 142.4859.12\bin\cmake\bin\cmake.exe" --build C:\Users\darin\.CLion12\system\cmake\generated\f846c544\f846c544\Debug --target all -- -j 8
[ 50%] Building CXX object CMakeFiles/PostgreSQLTest.dir/main.cpp.obj
C:\Users\darin\ClionProjects\PostgreSQLTest\main.cpp:2:22: fatal error: libpq-fe.h: No such file or directory
#include "libpq-fe.h"
^
compilation terminated.
mingw32-make.exe[2]: *** [CMakeFiles/PostgreSQLTest.dir/main.cpp.obj] Error 1
mingw32-make.exe[1]: *** [CMakeFiles/PostgreSQLTest.dir/all] Error 2
mingw32-make.exe: *** [all] Error 2
CMakeFiles\PostgreSQLTest.dir\build.make:61: recipe for target 'CMakeFiles/PostgreSQLTest.dir/main.cpp.obj' failed
CMakeFiles\Makefile2:66: recipe for target 'CMakeFiles/PostgreSQLTest.dir/all' failed
Makefile:82: recipe for target 'all' failed
我进行了建议的更改,尝试了几种不同的编译顺序,但仍然失败。
有什么想法吗?
2015 年 10 月 5 日发表评论后进行编辑
cmake_minimum_required(VERSION 3.3)
project(PostgreSQLTest)
# For *modify* CMAKE_CXX_FLAGS, this should come after project() call.
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
# Next line is not required, without it given path will be checked too.
#set(PostgreSQL_ROOT "C:\\Program Files (x86)\\PostgreSQL\\9.4")
#set(PostgreSQL ROOT "C:\\MinGW\\compiledLibs\\psql\\postgresql-9.6devel\\tmp_install\\usr\\local\\pgsql")
set(PostgreSQL ROOT "C:\\MinGW\\msys\\1.0\\local\\pgsql")
find_package(PostgreSQL REQUIRED)
message("PostgreSQL_LIBRARY_DIRS: ${PostgreSQL_LIBRARY_DIRS}")
# Now variables PostgreSQL_INCLUDE_DIRS, PostgreSQL_LIBRARIES are set. Just use them.
include_directories (${PostgreSQL_INCLUDE_DIRS})
link_directories(${PostgreSQL_LIBRARY_DIRS})
set(SOURCES main.cpp)
add_executable(PostgreSQLTest ${SOURCES})
target_link_libraries(PostgreSQLTest ${PostgreSQL_LIBRARIES})
set(SOURCE_FILES
CMakeLists.txt
main.cpp)
我没有找到任何表明使用了 posgres 库的信息。
"C:\Program Files (x86)\JetBrains\CLion 142.4859.12\bin\cmake\bin\cmake.exe" --build C:\Users\darin\.CLion12\system\cmake\generated\f846c544\f846c544\Debug --target all -- -j 8
[ 50%] Building CXX object CMakeFiles/PostgreSQLTest.dir/main.cpp.obj
[100%] Linking CXX executable PostgreSQLTest.exe
CMakeFiles\PostgreSQLTest.dir/objects.a(main.cpp.obj): In function `Z9CloseConnP7pg_conn':
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:9: undefined reference to `PQfinish'
CMakeFiles\PostgreSQLTest.dir/objects.a(main.cpp.obj): In function `Z9ConnectDBv':
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:19: undefined reference to `PQconnectdb'
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:22: undefined reference to `PQstatus'
CMakeFiles\PostgreSQLTest.dir/objects.a(main.cpp.obj): In function `Z19CreateEmployeeTableP7pg_conn':
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:39: undefined reference to `PQexec'
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:41: undefined reference to `PQresultStatus'
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:44: undefined reference to `PQclear'
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:51: undefined reference to `PQclear'
CMakeFiles\PostgreSQLTest.dir/objects.a(main.cpp.obj): In function `Z17InsertEmployeeRecP7pg_connPKcS2_':
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:66: undefined reference to `PQexec'
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:68: undefined reference to `PQresultStatus'
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:71: undefined reference to `PQclear'
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:78: undefined reference to `PQclear'
CMakeFiles\PostgreSQLTest.dir/objects.a(main.cpp.obj): In function `Z16FetchEmployeeRecP7pg_conn':
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:88: undefined reference to `PQexec'
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:90: undefined reference to `PQresultStatus'
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:93: undefined reference to `PQclear'
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:98: undefined reference to `PQclear'
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:101: undefined reference to `PQexec'
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:102: undefined reference to `PQresultStatus'
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:105: undefined reference to `PQclear'
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:110: undefined reference to `PQclear'
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:112: undefined reference to `PQexec'
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:114: undefined reference to `PQresultStatus'
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:117: undefined reference to `PQclear'
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:122: undefined reference to `PQnfields'
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:128: undefined reference to `PQfname'
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:135: undefined reference to `PQgetvalue'
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:132: undefined reference to `PQntuples'
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:139: undefined reference to `PQclear'
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:142: undefined reference to `PQexec'
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:143: undefined reference to `PQclear'
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:146: undefined reference to `PQexec'
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:149: undefined reference to `PQclear'
CMakeFiles\PostgreSQLTest.dir/objects.a(main.cpp.obj): In function `Z20RemoveAllEmployeeRecP7pg_conn':
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:156: undefined reference to `PQexec'
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:158: undefined reference to `PQresultStatus'
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:161: undefined reference to `PQclear'
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:168: undefined reference to `PQclear'
CMakeFiles\PostgreSQLTest.dir/objects.a(main.cpp.obj): In function `Z17DropEmployeeTableP7pg_conn':
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:175: undefined reference to `PQexec'
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:177: undefined reference to `PQresultStatus'
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:180: undefined reference to `PQclear'
C:/Users/darin/ClionProjects/PostgreSQLTest/main.cpp:187: undefined reference to `PQclear'
collect2.exe: error: ld returned 1 exit status
CMakeFiles\PostgreSQLTest.dir\build.make:96: recipe for target 'PostgreSQLTest.exe' failed
CMakeFiles\Makefile2:66: recipe for target 'CMakeFiles/PostgreSQLTest.dir/all' failed
Makefile:82: recipe for target 'all' failed
mingw32-make.exe[2]: *** [PostgreSQLTest.exe] Error 1
mingw32-make.exe[1]: *** [CMakeFiles/PostgreSQLTest.dir/all] Error 2
mingw32-make.exe: *** [all] Error 2
最佳答案
正确的CMakeLists.txt:
cmake_minimum_required(VERSION 3.3)
project(PostgreSQLTest)
# For *modify* CMAKE_CXX_FLAGS, this should come after project() call.
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
# Next line is not required, without it given path will be checked too.
set(PostgreSQL_ROOT "C:\\Program Files\\PostgreSQL\\9.4")
find_package(PostgreSQL REQUIRED)
# Now variables PostgreSQL_INCLUDE_DIRS, PostgreSQL_LIBRARIES, PostgreSQL_LIBRARY_DIRS are set. Just use them.
include_directories (${PostgreSQL_INCLUDE_DIRS})
link_directories(${PostgreSQL_LIBRARY_DIRS})
set(SOURCES main.cpp)
add_executable(PostgreSQLTest ${SOURCES})
target_link_libraries(PostgreSQLTest ${PostgreSQL_LIBRARIES})
set(SOURCE_FILES
CMakeLists.txt
main.cpp)
find_package(PostgreSQL)
调用的主要(但不仅仅是)目的是设置变量 PostgreSQL_INCLUDE_DIRS
、PostgreSQL_LIBRARIES
、PostgreSQL_LIBRARY_DIRS
(和其他一些)。之后无需手动设置这些变量,直接使用即可。
关于postgresql - CMake for PostgreSQL 在 CLion 1.2 Windows 10,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32682093/
如何在 Mac 上的 Clion EAP 中更改默认工作目录? 每次创建新项目时,我都需要将其更改为项目位置。 最佳答案 首先,无法通过 CLion 的 GUI 更改工作目录(请参阅 Source 中
我想知道 CLion IDE 是用什么语言编写的,以及使用什么库来制作图形。 最佳答案 See this wiki post. 用Java编写 关于clion - CLion 是用什么语言和图形库制作
我已按照说明更新我的 GDB 以便与 Eigen3 一起使用。但是,CLion IDE 无法在调试面板中加载特征矩阵的内容。 本应是快速验证和调试结果的过程变成了耗时的手动打印过程(或更糟:在 cyg
我正在尝试使用 Clion 编写一个 C++ 应用程序,该应用程序使用使用 ASCII 序列的彩色控制台输出。当我在 Clion 中运行程序时,没有显示颜色。但是当我在终端中运行程序时,我可以看到颜色
使用CLion时,我发现输出有时会中断。 例如,在运行代码时: main.cpp #include int main() { int i; for (i = 0; i < 1000;
我正在寻找一种在 CLion IDE 中并行处理多个项目的方法。 现在我一次只能处理一个窗口中的每个项目,但我正在寻找类似于 Eclipse IDE(见下文)的解决方案 - 能够在侧栏上看到我不同项目
嗨,我在更改函数颜色的颜色时遇到问题。我正在使用 Material 主题,除了函数调用之外,我更改了几乎所有颜色。任何人都遇到过这个问题并知道如何解决它?它是否列在另一个标题下?我目前将它用于 C/C
大多数从可以选择构建单个文件的其他 IDE 切换过来的人都对 CLion 感到有些困惑,而 CLion 恰好没有选项。 那么如何避免将每个源文件的每个名称都添加到 CMake 中呢? 最佳答案 您正在
在 CLion 中,如何指定 C++ 编译器将在其中查找头文件的包含目录?另外,如何设置要链接的库及其库目录? 目前我正在做那些直接修改文件的任务 CMakeLists.txt : include_d
在使用 CLion 时,我发现输出有时会中断。 例如运行代码时: main.cpp #include int main() { int i; for (i = 0; i < 1000
在查看 C 库函数或系统调用的文档时,Linux 上的 CLion 会显示相应的手册页。我在 Windows 本地和适用于 Linux 的 Windows 子系统中都安装了手册和手册页。有没有办法将
在 CLion 中创建文件时,以下标题位于文件顶部: // // Created by on 14.01.18. // 有人通过 can remove this header 去 Settings
我想要查看我的 C 程序的 ASM 有很多原因,但据我发现,似乎只能查看没有 src 的 3rd 方模块的 ASM。 如何查看我的 src 的 ASM? 最佳答案 我有同样的问题,但找到了 clion
我很难让 Ctrl+V 在 CLion 中粘贴代码(我使用的是 Windows 1.1.1 版)。当我尝试粘贴使用 Ctrl+C 复制的代码时,例如网站或其他程序,它似乎只是偶尔工作。通常它会粘贴一段
CLion 有一个很好的 integration of Clang-Tidy ,但默认配置是针对现代 C++ 的。然而,我坚持使用的编译器仅为 C++03,而且 Clang-Tidy 关于使我的代码现
我正在尝试在我的 Windows 机器中将 valgrind 与 clion 结合使用。我已经完成了 setting up WSL 的步骤和 valgrind在 window 上。虽然当我尝试在我的“
使用上下文菜单,我可以通过右键单击和 new > C++ Class 在 CLion 中轻松创建 .cpp 和头文件. 头文件的扩展名为.h。如何使 .hpp 成为默认的 header 扩展? 最佳答
编译前准备 我们正常直接编译后生成的exe是没有任何图标的 那么很多exe程序都是有个性图标的那么在vs和qt中是比较简单的可是在Clion编译中怎么才能添加呢? 前提条件,本机必须配置好MinGW,
虽然在我的编程“职业”中大部分时间都使用了 Java 和 PHP,但我现在正在尝试更深入地学习 C++。为此,我使用 CLion 作为我的 IDE - 主要是因为我非常熟悉 phpStorm 和 In
您好,我用 c 语言编程,我喜欢使用 clion。有没有办法更改它在新项目中创建的默认文件的方式?我希望它创建一个 main.c 和 make 文件来反射(reflect)这一点。 最佳答案 阅读Ho
我是一名优秀的程序员,十分优秀!