2015-08-19 5 views
-2

На самом деле я пытаюсь скомпилировать проект c/C++ с mingw. Тот же проект фактически скомпилирован с помощью визуального компилятора студии. Для этого я написал файл makefile, и все работает до сих пор.«memcpy» не был объявлен в этой области при использовании gcc-компилятора

Во время компиляции я получаю ошибку о функциях, которые объявлены жгуты string.h и stdio.h как тетср(), Е() ..., с следующей ошибкой:

error: 'memcpy' was not declared in this scope 

Это потому, что компилятор Бесполезного Найти функции. При компиляции в Visual Studio, эта ошибка не появляется, по логике вещей, из-за компилятора включают пути, такие как:

c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\ 

Мой вопрос теперь: Что я должен делать в Makefile, чтобы сообщить компилятору использовать " string.h "и" stdio.h "из потока. Я попытался включить путь включения в make-файл, например:

INCLUDE_DIRS =\ 
C:\MinGW\include 

, но это не влияет. А также существует разница между string.h и stdio.h с visual studio и string.h и stdio.h, используемым gcc. Это может быть проблема?

+0

У вас есть '#include ' в исходном файле? –

+2

Возможный дубликат ['memcpy' не был объявлен в этой области] (http://stackoverflow.com/questions/24850479/memcpy-was-not-declared-in-this-scope) –

+0

Нет, он не включен в исходный файл. Итак, вот в чем вопрос, его можно заставить с помощью makefile? – JohnDoe

ответ

0

Правильный способ заключается в том, чтобы добавить их в исходные файлы, где вы используете методы, которые определены в них. Но если вы настаиваете на включении его в файл makefile, вы можете использовать force include.

Visual studio link.

To set this compiler option in the Visual Studio development environment Open the project's Property Pages dialog box.

Open Project Property Pages.

Click the C/C++ folder.

Click the Advanced property page.

Modify the Force Includes property.

или использовать -include path_to_the_header для gcc

Просто добавьте этот параметр в командную строку компиляции. Удачи.

 Смежные вопросы

  • Нет связанных вопросов^_^