У меня есть очень простой проект Eclipse C ++ со следующими тремя файлами:
header.h
#ifndef HEADER_H_
#define HEADER_H_
#include <cstdint>
#include <cinttypes>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cassert>
void func1();#endif
src.cc
#include "header.h"
void func1() {
}
main.cc
#include "header.h"
int main(int argc, char** argv) {
return 0;
}
Когда я пытаюсь скомпилировать проект, компиляция идет, но он говорит:
make all
Building file: ../main.cc
Invoking: Cross G++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"main.d" -MT"main.d" -o "main.o" "../main.cc"In file included from ../main.cc:8:
../header.h:11:19: warning: cstdint: No such file or directory
../header.h:12:21: warning: cinttypes: No such file or directory
Finished building: ../main.cc
Building file: ../src.cc
Invoking: Cross G++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src.d" -MT"src.d" -o "src.o" "../src.cc"In file included from ../src.cc:8:
../header.h:11:19: warning: cstdint: No such file or directory
../header.h:12:21: warning: cinttypes: No such file or directory
Finished building: ../src.cc
Building target: Test
Invoking: Cross G++ Linker
g++ -o "Test" ./main.o ./src.o
Finished building target: Test
А именно, он не может найти заголовки cstdint и cinttypes. Могу ли я проверить, почему они не найдены?
cstdint
заголовок был введен в C ++ 11, который GCC не по умолчанию. В свойствах вашего проекта выберите Settings
под C/C++ Build
, На Tool Settings
вкладка под GCC C++ Compiler
, Выбрать Dialect
, Установить Language standard
установка на ISO C++ 11
(или новее, если вы предпочитаете). Перекомпилируйте.
Других решений пока нет …