linux Ubuntu下,第一个C++程序访问数据库,遇到的问题,及解决办法

news2025/4/8 19:08:28

在ubuntu下安装了mysql,mysql++以后,编写了第一个访问数据库的程序:

#include <iostream>
#include <string>
#include <cstdlib> //for system
#include <mysql++.h>

using namespace std;

int main()
{
    mysqlpp::Connection con(false);
    con.set_option(new mysqlpp::SetCharsetNameOption("gbk"));
    cout << "please input (user root) password: ";
    string pwd;
    getline(cin, pwd);

    if(!con.connect("d2school", "localhost", "root", pwd.c_str()))
    {
        cout << "can't connect database, please check the password!" << endl;
        return -1;
    }

    mysqlpp::Query query = con.query("select * from user");
    mysqlpp::StoreQueryResult res = query.store();

    for(unsigned int i = 0; i < res.num_rows(); ++ i)
    {
        cout << res[i]["name"] << endl;
    }

    return 0;
}

结果运行时报错:

运行时的日志信息如下:

-------------- Run: Debug in HelloDatabase_Console (compiler: GNU GCC Compiler)---------------

Checking for existence: /home/yanzhenxi/BaiHuaC++/chap04/HelloDatabase_Console/bin/Debug/HelloDatabase_Console
Set variable: LD_LIBRARY_PATH=.:/usr/lib/x86_64-linux-gnu
:/usr/local/lib:
Executing: gnome-terminal -t HelloDatabase_Console -x  /usr/bin/cb_console_runner LD_LIBRARY_PATH=:.:/usr/lib/x86_64-linux-gnu
:/usr/local/lib /home/yanzhenxi/BaiHuaC++/chap04/HelloDatabase_Console/bin/Debug/HelloDatabase_Console  (in /home/yanzhenxi/BaiHuaC++/chap04/HelloDatabase_Console/.)
Process terminated with status 0 (0 minute(s), 3 second(s))

我以为,是libmysql++-dev没有安装,所以

sudo apt install libmysql++-dev

结果依然是:

我的codeblocks中Global variable配置如下:

工程HelloDatabase_Console的build options如下:

再经过一顿操作之后,问题依然不能解决:

解决方案:

把下面图片中的$(#mysql.lib)移到$(#mysqlpp.lib)下方,或者删除掉,就可以了

第一种方案:把$(#mysql.lib)移动到下方

这种情况下,运行时信息如下:

-------------- Run: Debug in HelloDatabase_Console (compiler: GNU GCC Compiler)---------------

Checking for existence: /home/yanzhenxi/BaiHuaC++/chap04/HelloDatabase_Console/bin/Debug/HelloDatabase_Console
Set variable: LD_LIBRARY_PATH=.:/usr/local/lib:/usr/lib/x86_64-linux-gnu
:
Executing: gnome-terminal -t HelloDatabase_Console -x  /usr/bin/cb_console_runner LD_LIBRARY_PATH=:.:/usr/local/lib:/usr/lib/x86_64-linux-gnu
 /home/yanzhenxi/BaiHuaC++/chap04/HelloDatabase_Console/bin/Debug/HelloDatabase_Console  (in /home/yanzhenxi/BaiHuaC++/chap04/HelloDatabase_Console/.)
Process terminated with status 0 (0 minute(s), 2 second(s))

运行结果为:

第二种方案:把$(#mysql.lib)删掉

第二种方案,运行时信息如下:


-------------- Run: Debug in HelloDatabase_Console (compiler: GNU GCC Compiler)---------------

Checking for existence: /home/yanzhenxi/BaiHuaC++/chap04/HelloDatabase_Console/bin/Debug/HelloDatabase_Console
Set variable: LD_LIBRARY_PATH=.:/usr/local/lib:
Executing: gnome-terminal -t HelloDatabase_Console -x  /usr/bin/cb_console_runner LD_LIBRARY_PATH=:.:/usr/local/lib /home/yanzhenxi/BaiHuaC++/chap04/HelloDatabase_Console/bin/Debug/HelloDatabase_Console  (in /home/yanzhenxi/BaiHuaC++/chap04/HelloDatabase_Console/.)
Process terminated with status 0 (0 minute(s), 2 second(s))

运行结果如下:

原因分析:

可以看到,这三种情况下的运行时信息的不同之处:

出错情况:

Set variable: LD_LIBRARY_PATH=.:/usr/lib/x86_64-linux-gnu
:/usr/local/lib:

Executing: gnome-terminal -t HelloDatabase_Console -x  /usr/bin/cb_console_runner LD_LIBRARY_PATH=:.:/usr/lib/x86_64-linux-gnu

方案一:

Set variable: LD_LIBRARY_PATH=.:/usr/local/lib:/usr/lib/x86_64-linux-gnu
:

Executing: gnome-terminal -t HelloDatabase_Console -x  /usr/bin/cb_console_runner LD_LIBRARY_PATH=:.:/usr/local/lib:/usr/lib/x86_64-linux-gnu

方案二:

Set variable: LD_LIBRARY_PATH=.:/usr/local/lib:
Executing: gnome-terminal -t HelloDatabase_Console -x  /usr/bin/cb_console_runner LD_LIBRARY_PATH=:.:/usr/local/lib

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1296558.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

webSRc实现浏览器播放rtsp【海康】

先上代码 <template><div>video的配置自己写<video id"video" autoplay width"900" height"900"></video></div> </template><script> export default {name: index1,data() {return {webRtcServer: …

关于IDEA中maven的作用以及如何配置MAVEN

关于IDEA中maven的作用以及如何配置MAVEN 1、Maven是什么2、Idea中对于Maven的配置3、下载依赖时&#xff0c;Idea下方的显示3.1、Maven中央仓库的下载显示界面3.2、阿里云仓库的下载显示界面 4、Maven在Idea中的使用4.1、clean4.2、validate4.3、compile4.4、test&#xff08;…

go语言 grpc 拦截器

文章目录 拦截器服务端拦截器一元拦截器流拦截器 客户端拦截器一元拦截器流拦截 多个拦截器 代码仓库 拦截器 gRPC拦截器&#xff08;interceptor&#xff09;是一种函数&#xff0c;它可以在gRPC调用之前和之后执行一些逻辑&#xff0c;例如认证、授权、日志记录、监控和统计…

目标检测——OverFeat算法解读

论文&#xff1a;OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks 作者&#xff1a;Pierre Sermanet, David Eigen, Xiang Zhang, Michael Mathieu, Rob Fergus, Yann LeCun 链接&#xff1a;https://arxiv.org/abs/1312.6229 文章…

actitivi自定义属性(二)

声明&#xff1a;此处activiti版本为6.0 此文章介绍后端自定义属性解析&#xff0c;前端添加自定义属性方法连接&#xff1a;activiti自定义属性&#xff08;一&#xff09;_ruoyi activiti自定义标题-CSDN博客 1、涉及到的类如下&#xff1a; 简介&#xff1a;DefaultXmlPar…

2023年江西省“振兴杯”网络信息行业(信息安全测试员)职业技能竞赛 Write UP

文章目录 一、2023csy-web1二、2023csy-web2三、2023csy-web3四、2023csy-web4五、2023csy-misc1六、2023csy-misc2七、2023csy-crypto1八、2023csy-re1 一、2023csy-web1 该题提供一个web靶场&#xff0c;《伟大的挑战者》&#xff0c;分值&#xff1a;5分 web页面一直在播放c…

nodejs+vue+微信小程序+python+PHP的智能停车系统-计算机毕业设计推荐django

随着网络技术的不断发展&#xff0c;多媒体技术应用渐渐的出现在教育领域中&#xff0c;智能停车算法研究管理已经成为社会的一个热门话题。互联网应用在全球范围内日益普及&#xff0c;在许多的网络服务中&#xff0c;Web给人耳目一新的感觉。在这其中&#xff0c;网络平台开展…

unity 2d 入门 飞翔小鸟 小鸟碰撞 及死亡(九)

1、给地面&#xff0c;柱体这种添加2d盒装碰撞器&#xff0c;小鸟移动碰到就不会动了 2、修改小鸟的脚本&#xff08;脚本命名不规范&#xff0c;不要在意&#xff09; using System.Collections; using System.Collections.Generic; using UnityEngine;public class Fly : Mo…

【hugging face】bitsandbytes中8 bit量化的理解

8 位量化使数十亿参数规模的模型能够适应更小的硬件&#xff0c;而不会降低性能。 8 位量化的工作原理如下&#xff1a; 1.从输入隐藏状态中按列提取较大值&#xff08;离群值&#xff09;。 2.对 FP16 中的离群值和 int8 中的非离群值执行矩阵乘法。 3.改变非异常值结果以将值…

SAP UI5 walkthrough step6 Modules

在SAPUI5 中&#xff0c;资源通常用作Modules&#xff0c;这个我们将用Message Toast 来实现告警功能 修改controller.js webapp/controller/App.controller.js sap.ui.define(["sap/ui/core/mvc/Controller","sap/m/MessageToast" ], (Controller, Mes…

running小程序重要技术流程文档

一、项目文件说明&#xff1a; &#xff08;注&#xff1a;getMyMoney无用已删除&#xff09; 二、重要文件介绍 1.reinfo.js&#xff1a;位于utils文件下&#xff0c;该文件封装有统一的请求URL&#xff0c;和请求API同意封装供页面调用&#xff1b;调用时候需要在页面上先…

算法Day26 数位统计

数位统计 Description 给你一个整数n&#xff0c;统计并返回各位数字都不同的数字x的个数&#xff0c;其中0 ≤ x < 10^n。 Input 输入整数n 0≤n≤13 Output 输出整数个数 Sample 代码 import java.util.Scanner;public class Main {public static void main(String[] ar…

鸿蒙方舟开发框架ArkUI简介

语雀知识库地址&#xff1a;语雀HarmonyOS知识库 飞书知识库地址&#xff1a;飞书HarmonyOS知识库 嗨&#xff0c;各位别来无恙呐&#xff0c;我是小白 众所周知&#xff0c;华为在今年推出了 HarmonyOS 4.0 版本&#xff0c;而在此之前的版本中&#xff0c;HarmonyOS 应用的 …

TCP一对一聊天

客户端 import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.BufferedReader; import java.io.IOException; import java.io…

【web安全】文件读取与下载漏洞

前言 菜某整理仅供学习&#xff0c;有误请赐教。 概念 个人理解&#xff1a;就是我们下载一个文件会传入一个参数&#xff0c;但是我们可以修改参数&#xff0c;让他下载其他的文件。因为是下载文件&#xff0c;所以我们可以看到文件里面的源码&#xff0c;内容。 文件读取…

MindOpt APL:一款适合优化问题数学建模的编程语言

什么是建模语言 建模语言是一种描述信息或模型的编程语言&#xff0c;在运筹优化领域&#xff0c;一般是指代数建模语言。 比如要写一个线性规划问题的建模和求解&#xff0c;可以采用C、Python、Java等通用编程语言来实现计算机编程&#xff08;码代码&#xff09;&#xff0…

JavaScript常用技巧专题一

文章目录 一、前言二、生成随机颜色的两种方式2.1、生成RandomHexColor2.2、生成随机RGBA 三、复制内容到剪贴板的两种方式3.1、方式13.2、方式2 四、获取URL中的查询参数五、打乱数组六、深拷贝一个对象七、确保元素在可见区域内八、获取当前选中的文本九、浏览器cookie9.1、获…

深入了解数据库锁:类型、应用和最佳实践

目录 1. 引言 2. 数据库锁的基本概念 2.1 悲观锁和乐观锁 2.2 排他锁和共享锁 3. 悲观锁的应用场景 3.1 长事务和大事务 3.2 并发修改 3.3 数据库死锁 4. 悲观锁的最佳实践 4.1 精细控制锁的粒度 4.2 避免死锁 4.3 考虑乐观锁 5. 案例分析 5.1 银行系统的转账操作…

搭乘“低代码”快车,引领食品行业数字化转型全新升级

数字化技术作为重塑传统行业重要的力量&#xff0c;正以不可逆转的趋势改变着企业经营与客户消费的方式。 在近些年的企业数字化服务与交流过程中&#xff0c;织信团队切实感受到大多数企业经营者们从怀疑到犹豫再到焦虑最终转为坚定的态度转变。 在这场数字化转型的竞赛中&a…

Could not resolve all dependencies for configuration ‘:app:androidApis‘.

android studio出现Could not resolve all dependencies for configuration ‘:app:androidApis’. 试过很多种方法&#xff0c;但是都不好使&#xff0c;不管怎么样都是提示如下报错&#xff1a; Using insecure protocols with repositories, without explicit opt-in, is un…