io.h 在 Ubuntu 20.04 中找不到 CLion
io.h not found CLion in Ubuntu 20.04
我正在尝试 运行 一个 C++ 代码,但是 io.h 没有找到。
'io.h' file not found
显示为
#include <io.h>
此外,我遇到了一堆奇怪的问题(对于一个超过 16 岁的代码):
Use of undeclared identifier '_read'
或
Unknown type name '__int64'; did you mean '__int64_t'?
或
Use of undeclared identifier '_O_RDONLY'
或
Use of undeclared identifier '_lseeki64'; did you mean 'fseeko64'?
或
Cannot initialize a parameter of type 'FILE *' (aka '_IO_FILE *') with an lvalue of type 'int'
或
Use of undeclared identifier '_lseek'; did you mean 'fseek'?
或
Use of undeclared identifier '_close'
不知这些是否与io.h未被找到有关
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.1 LTS
Release: 20.04
Codename: focal
我有 CLion 2020.2.3
和
$ gcc --version
gcc (Ubuntu 9.3.0-10ubuntu2) 9.3.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
添加编译器指令来管理 multi-os 编译。
//old line: #include<io.h>
#ifdef _WIN32
#include <io.h>
#elif __linux__
#include <inttypes.h>
#include <unistd.h>
#define __int64 int64_t
#define _close close
#define _read read
#define _lseek64 lseek64
#define _O_RDONLY O_RDONLY
#define _open open
#define _lseeki64 lseek64
#define _lseek lseek
#define stricmp strcasecmp
#endif
//SAF_Handle.cpp line:458 old line:INFILE = _open(infilename, _O_RDONLY | _O_BINARY);
#ifdef __linux__
INFILE = _open(infilename, _O_RDONLY);
#elif
INFILE = _open(infilename, _O_RDONLY | _O_BINARY);
#endif
修复了几个未声明迭代器变量 'i' 的循环。
我正在尝试 运行 一个 C++ 代码,但是 io.h 没有找到。
'io.h' file not found
显示为
#include <io.h>
此外,我遇到了一堆奇怪的问题(对于一个超过 16 岁的代码):
Use of undeclared identifier '_read'
或
Unknown type name '__int64'; did you mean '__int64_t'?
或
Use of undeclared identifier '_O_RDONLY'
或
Use of undeclared identifier '_lseeki64'; did you mean 'fseeko64'?
或
Cannot initialize a parameter of type 'FILE *' (aka '_IO_FILE *') with an lvalue of type 'int'
或
Use of undeclared identifier '_lseek'; did you mean 'fseek'?
或
Use of undeclared identifier '_close'
不知这些是否与io.h未被找到有关
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.1 LTS
Release: 20.04
Codename: focal
我有 CLion 2020.2.3 和
$ gcc --version
gcc (Ubuntu 9.3.0-10ubuntu2) 9.3.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
添加编译器指令来管理 multi-os 编译。
//old line: #include<io.h>
#ifdef _WIN32
#include <io.h>
#elif __linux__
#include <inttypes.h>
#include <unistd.h>
#define __int64 int64_t
#define _close close
#define _read read
#define _lseek64 lseek64
#define _O_RDONLY O_RDONLY
#define _open open
#define _lseeki64 lseek64
#define _lseek lseek
#define stricmp strcasecmp
#endif
//SAF_Handle.cpp line:458 old line:INFILE = _open(infilename, _O_RDONLY | _O_BINARY);
#ifdef __linux__
INFILE = _open(infilename, _O_RDONLY);
#elif
INFILE = _open(infilename, _O_RDONLY | _O_BINARY);
#endif
修复了几个未声明迭代器变量 'i' 的循环。