【问题标题】:Error: file not recognized: File format not recognized c++错误:文件无法识别:文件格式无法识别c ++
【发布时间】:2021-01-13 19:10:14
【问题描述】:

我的代码:

#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define ar array

int main() {
    cout << "hi my name is me" << endl;

    return 0;
}

我使用了命令:

:!g++ %

编译我的代码

编译后返回:
testing.cpp~:文件无法识别:文件格式无法识别
collect2.exe:错误:ld 返回 1 个退出状态
外壳返回 1

此外,这是我当前的 bits/stdc++.h 头文件:

#include <algorithm>
#include <bitset>
#include <complex>
#include <deque>
#include <exception>
#include <fstream>
#include <functional>
#include <iomanip>
#include <ios>
#include <iosfwd>
#include <iostream>
#include <istream>
#include <iterator>
#include <limits>
#include <list>
#include <locale>
#include <map>
#include <memory>
#include <new>
#include <numeric>
#include <ostream>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <stdexcept>
#include <streambuf>
#include <string>
#include <typeinfo>
#include <utility>
#include <valarray>
#include <vector>

#if __cplusplus >= 201103L
#include <array>
#include <atomic>
#include <chrono>
#include <condition_variable>
#include <forward_list>
#include <future>
#include <initializer_list>
#include <mutex>
#include <random>
#include <ratio>
#include <regex>
#include <scoped_allocator>
#include <system_error>
#include <thread>
#include <tuple>
#include <typeindex>
#include <type_traits>
#include <unordered_map>
#include <unordered_set>
#endif

你如何解决这个问题?

【问题讨论】:

  • #define ll long long#define ar array 是让您的代码不可读的好方法。不要这样做。
  • 你尝试从 vi/vim 编译吗?请尝试从命令行g++ filename.cpp 编译。然后根据结果询问有关 vim 或纯编译问题的问题。

标签: c++


【解决方案1】:

假设您在 vim 内运行此程序,那么您做的事情是正确的,因为 % 被当前文件替换。

然而,它试图编译testing.cpp~vim 文件的vim 备份)的事实表明您正在编辑 错误 文件(或放置一个~ 在您的命令行上的 % 之后)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-25
    • 2013-06-12
    • 1970-01-01
    • 2016-05-25
    相关资源
    最近更新 更多