C++ 踩坑记录

这篇博客记录了作者在学习C++过程中遇到的错误,包括无法识别的外部命令错误,访问权限冲突以及命名空间和宏的使用问题。通过实例和解释,作者分享了解决这些问题的经验和教训。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   这周打算当一条咸鱼,跟着菜鸟学习一下C++的一些语法,好为以后学习OpenGL做一下打算

==================================无法识别(解析)的外部命令========================================

    我遇到这个问题的时候是在写.h + .cpp的时候,这个问题最大的可能性是你在.h里面声明了一些方法,但是在.cpp里面没有相应的实现,比如

///////////////// .h  /////////////////
#pragma once
#include <iostream>

class Test
{
public:
    void Printf();
    void Printf(int i); // 注意 我没有实现这个方法  
};

/////////////////.cpp//////////////////

#include "Test.h"

void Test::Printf()
{
    std::cout<<"hello world"<<endl;
}

///////////////main.cpp///////////////
#include "test.h"

int main()
{
    Test * test = new Test();
    test->Printf("sss");
    delete test;
    system("pause"); 
}

这样,运行的时候就会出现像是这样的报错信息,而且没有行号

1>Main.obj : error LNK2001: 无法解析的外部符号 "public: void __cdecl Test::Printf(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?Printf@Test@@QEAAXV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
1>C:\Users\Administrator\source\repos\C++Test\x64\Release\C++Test.exe : fatal error LNK1120: 1 个无法解析的外部命令
1>已完成生成项目“C++Test.vcxproj”的操作 - 失败。

还有一种情

### 关于 Grounded-Segment-Anything 环境安装中的常见问题及解决方案 #### 依赖库版本冲突 在尝试设置 Grounded-Segment-Anything 的运行环境时,可能会遭遇不同 Python 库之间的版本不兼容情况。这通常表现为导入特定模块时报错或程序无法正常启动。为了防止此类错误发生,在创建虚拟环境中应严格按照官方文档指定的依赖文件列表来安装所需的包[^1]。 ```bash pip install -r requirements.txt ``` 如果仍然存在冲突,则考虑使用 `conda` 创建隔离的工作区并管理各个组件的具体版次: ```bash conda create --name grounded_segment python=3.8 conda activate grounded_segment pip install -r requirements.txt ``` #### CUDA 和 PyTorch 配置不当 当本地 GPU 加速功能未能成功激活时,可能是由于所使用的 PyTorch 版本与 NVIDIA 显卡驱动器之间缺乏匹配支持所致。确保已下载适合当前硬件条件以及操作系统类型的正确组合,并按照指示完成相应配置过程[^2]。 对于 Windows 用户来说,有时还需要额外确认 Visual C++ Redistributable 是否已经更新到最新状态;而对于 Linux 发行版而言,则需留意内核参数调整以优化性能表现。 #### 数据集路径设定失误 部分初学者可能因为误设数据源位置而导致模型训练失败或者预测结果异常。务必仔细阅读项目说明文档中有关输入输出目录结构的要求,并据此修改脚本内的对应变量赋值语句[^3]。 例如,默认情况下图像存放地址为 `/path/to/images/` ,而标注文件位于 `/path/to/annotations/instance_*.json` 。若有更改需求,请同步更新所有涉及该两项资源引用的地方。 #### 缺少必要的系统工具 某些高级特性实现上会依赖外部命令行实用程序的存在与否,比如 FFmpeg 处理视频流、Graphviz 绘制计算图等。这些应用程序并非随同主要框架一同分发,因此需要单独前往官方网站获取适用于个人电脑平台的二进制包进行部署。 一旦上述准备工作均已完成之后再重新执行构建流程即可排除大部分由缺少辅助软件引起的障碍。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值