运行VScode下C++多个源文件中其中一个cpp.文件报错

问题描述:

新手第一次使用VScode编译C++,不熟悉操作,在原有源文件基础上我又建立了一个新的cpp.文件,但是系统一直报错,项目无法写入,如下:

在这里插入图片描述
一番搜索后才知道:项目里如果有多个.cpp文件(源文件),如果运行其中一个.cpp文件是会报错的。
因为它只能有一个main函数!!!
那就意味着每当我们需要建立一个.cpp文件运行时,就要重新创建一个项目,在新项目里创建源文件才能运行.cpp文件,这样有些繁琐。

解决方法:

方案一(其他文件并存情况下运行)

选择不想执行的文件(多选可按住Ctrl 键)→右击点属性→常规→从右侧下拉菜单选择是→点击确定

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
完成设置后就会出现这样的标识
在这里插入图片描述
这样再运行想要运行的程序就不会报错了
在这里插入图片描述

方案二(注释其他.cpp文件)

点击进入不想执行的程序中,按住Ctrl和A即选中所有代码,再按Ctrl+Shift+/ 注释掉所有代码。

不过这样操作如果程序较多,则比较繁琐,需要进入每一个程序里面注释。较少.cpp文件更方便些。

方案三(直接删除)

如果其他.cpp文件用完不需要了,可以采用这种方法,不需要重新建立一个新项目,直接把他们删了。

选中所有不需要的.cpp文件,只留下需要执行的文件,在功能栏里选择项目→从项目中排除就没有了,也能正常运行。
在这里插入图片描述

总结

中心思想就是只能存在一个.main函数,其他.cpp文件要么注释要么删除要么排除。

外传:我当时报错之后采用这些方法不管用,又重新建立一个新项目,如果要运行其他.cpp文件就可以用上述的方法,但其实不用新建也可以,原因是我没有把前面程序运行的终端关了,把其他窗口删了就行。

新手不断学习中,如果有错误,欢迎大家批评指正交流,有更好的方法也欢迎大家分享出来,帮助更多的小伙伴!

### 如何在 VSCode 中批量保存或导出多个 C++ 文件 在 Visual Studio Code (VSCode) 中,虽然没有内置的功能可以直接一次性导出多个文件到特定位置,但可以通过一些方法实现批量保存和导出操作。 #### 批量保存 如果只是希望保存当前工作区中的所有已修改的 `.cpp` 或其他类型的文件,可以利用以下方式完成: - 使用快捷键 `Ctrl+S` 可以单独保存单个文件。 - 如果有多个未保存的更改,则可以通过按下快捷键 `Ctrl+K S` 来查看并应用所有的保存命令[^4]。这会触发自动保存功能,确保所有被标记为“脏”的文档都被写入磁盘。 另外,在设置中启用 **Auto Save** 功能也可以帮助减少手动保存的工作负担。通过按组合键 `Ctrl+,` 进入设置界面或者按照指引使用 `Ctrl+Shift+P` 并输入偏好设置 JSON 的路径来编辑配置参数 `"files.autoSave": "afterDelay"` 或者 `"onFocusChange"` 等选项。 #### 导出多文件至指定目录 对于需要将项目内的某些 CPP 源码复制备份的情况,目前最简单有效的方法就是借助外部工具或脚本配合 VSCode 实现自动化处理: 1. 利用操作系统自带命令行工具(如 Linux/WSL 下的 cp 命令;Windows 上可采用 PowerShell/xcopy),编写简单的批处理指令把目标源程序拷贝出来; 示例 Shell 脚本如下所示: ```bash mkdir -p ~/backup_cpp_files && \ find . -name "*.cpp" -exec cp --parents {} ~/backup_cpp_files \; ``` 2. 安装扩展插件辅助完成更复杂的任务流程——例如,“File Utils” 提供了一些高级特性支持用户定义动作序列从而方便管理大量文件资源。 综上所述,尽管 VSCode 自身缺乏直接针对此需求设计好的解决方案,但仍可通过调整环境变量、运用第三方库以及合理规划个人开发习惯等方式达成预期效果。 ```python import os import shutil def copy_cpp_files(source_dir, target_dir): if not os.path.exists(target_dir): os.makedirs(target_dir) for root, dirs, files in os.walk(source_dir): for file in files: if file.endswith(".cpp"): src_file = os.path.join(root, file) dst_file = os.path.join(target_dir, os.path.relpath(src_file, source_dir)) os.makedirs(os.path.dirname(dst_file), exist_ok=True) shutil.copyfile(src_file, dst_file) source_directory = "./your_project_folder" destination_directory = "./exported_cpp_files" copy_cpp_files(source_directory, destination_directory) ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值