【问题标题】:can't run c++ file (.cpp) in CLion无法在 CLion 中运行 c++ 文件 (.cpp)
【发布时间】:2021-03-24 15:41:31
【问题描述】:

我是一名 -1 级 C++ 程序员,这是我的第一个运行 C++ 的程序,我试图在 C++ 中运行 hello world,但是当我在编译后运行“myfirstprogram.cpp”时。

CLion 报错

它无法运行 .cpp 文件,因为由于某种原因它无法构建它,有人可以帮助我吗?

我已经安装了 Xcode 和命令行工具。

在首选项中 CLion 自动检测到 Xcode。

gcc、cc 和 c++ 已经正确安装。

mehmetalibayram@MacBook-Pro-van-Mehmet ~> whereis gcc
/usr/bin/gcc
mehmetalibayram@MacBook-Pro-van-Mehmet ~> whereis cc
/usr/bin/cc
mehmetalibayram@MacBook-Pro-van-Mehmet ~> whereis g++
/usr/bin/g++
mehmetalibayram@MacBook-Pro-van-Mehmet ~> 
/Applications/Jetbrains/CLion.app/Contents/bin/cmake/mac/bin/cmake --build "/Users/mehmetalibayram/OneDrive/CLion/cpp/cmake-build-debug" --target cpp -- -j 12
[ 33%] Linking CXX executable cpp
duplicate symbol '_main' in:
    CMakeFiles/cpp.dir/main.cpp.o
    CMakeFiles/cpp.dir/myfirstprogram/myfirstprogram.cpp.o
ld: 1 duplicate symbol for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[3]: *** [CMakeFiles/cpp.dir/build.make:119: cpp] Error 1
gmake[2]: *** [CMakeFiles/Makefile2:96: CMakeFiles/cpp.dir/all] Error 2
gmake[1]: *** [CMakeFiles/Makefile2:103: CMakeFiles/cpp.dir/rule] Error 2
gmake: *** [Makefile:138: cpp] Error 2

我做错了什么,有人可以帮帮我吗?

【问题讨论】:

  • 错误就在你的眼前。您正在使用两个文件构建一个程序,main.cppmyfirstprogram.cpp。每一个都有main功能。
  • 你为什么不包括你的程序列表?
  • 请不要破坏您的帖子。通过在 Stack Exchange 网络上发帖,您已在 CC BY-SA 4.0 license 下授予 Stack Exchange 分发该内容的不可撤销的权利(即无论您未来的选择如何)。根据 Stack Exchange 政策,帖子的非破坏版本是分发的版本,因此,任何破坏行为都将被撤销。如果您想了解更多关于删除帖子的信息,请参阅:How does deleting work?

标签: c++ macos gcc cmake


【解决方案1】:

函数需要是唯一可识别的。在我们的例子中,你有两个同名的函数,main,具体来说。确保您有一个 main 函数(顺便说一句,这将是入口点),因此将另一个函数重命名为其他名称并从您的 main 调用它。

【讨论】:

  • 您的错误消息告诉我们您的构建包含 main.cpp 和 myfirstprogram.cpp。由于此时您似乎只需要 main.cpp,因此您需要从构建中排除 myfirstprogram.cpp。
  • @MehmetBayram 我知道你很沮丧,但别担心,你会成功的。看来我误解了你需要什么。您似乎想同时使用这两个文件。你可以这样做。但是你的实际问题是你有一个main 函数,这会产生一个悖论。因此,要么停止使用其中一个文件,要么重命名主要函数之一,或者执行任何导致函数名称不重复的事情。这将解决这个问题。
  • 当我单击鼠标右键时,我在 C++ 中看不到“构建”选项,在哪里可以构建我的应用程序?也许这就是我无法运行它的原因,因为它没有构建。
  • @MehmetBayram 看看您粘贴到问题中的引用,尤其是第一行:/Applications/Jetbrains/CLion.app/Contents/bin/cmake/mac/bin/cmake --build "/Users/mehmetalibayram/OneDrive/CLion/cpp/cmake-build-debug" --target cpp -- -j。尝试运行这个。我们预计会发生完全相同的错误,但不要担心:错误表明问题发生在第 119 行的 CMakeFiles/cpp.dir/build.make 中。因此,打开该文件并查看其内容。这是一个好的方向,它会让你更接近解决方案。
  • 您遇到的技术问题是您有两个 main 函数实例,这使得它矛盾。另一方面,真正的问题是您(还)不习惯使用 make 文件。不用担心,我们所有人都处于你的位置,你也会成功(双关语:))。
猜你喜欢
  • 2012-09-02
  • 2021-06-04
  • 1970-01-01
  • 2016-11-20
  • 1970-01-01
  • 2022-08-09
  • 1970-01-01
  • 1970-01-01
  • 2021-04-22
相关资源
最近更新 更多