Я компилирую ветку Blender программы 3D-моделирования из источника (используя SCONS ) на компьютере с Fedora 8 и работаю вошибка, с которой я не столкнулся при компиляции одного и того же источника в CentOS 5, и я думаю, что это связано с определением переменной.Ошибка:
source/blender/blenkernel/intern/implicit.c: In function ‘mul_bfmatrix_lfvector’:
source/blender/blenkernel/intern/implicit.c:592: error: ‘CLOTH_OPENMP_LIMIT’ undeclared (first use in this function)
source/blender/blenkernel/intern/implicit.c:592: error: (Each undeclared identifier is reported only once
source/blender/blenkernel/intern/implicit.c:592: error: for each function it appears in.)
source/blender/blenkernel/intern/implicit.c: In function ‘cloth_calc_force’:
source/blender/blenkernel/intern/implicit.c:1700: error: ‘CLOTH_OPENMP_LIMIT’ undeclared (first use in this function)
Файл implicit.c
определяет эту переменную;Вот первые несколько строк файла:
#include "MEM_guardedalloc.h"
#include "BKE_cloth.h"
#include "DNA_object_force.h"
#include "BKE_effect.h"
#include "BKE_global.h"
#include "BKE_utildefines.h"
#include "BLI_threads.h"
#define CLOTH_OPENMP_LIMIT 25
#ifdef _WIN32
#include <windows.h>
static LARGE_INTEGER _itstart, _itend;
static LARGE_INTEGER ifreq;
две строки, которые выдают ошибку:
#pragma omp parallel sections private(i) if(vcount > CLOTH_OPENMP_LIMIT)
и
#pragma omp parallel for private(i) if(numverts > CLOTH_OPENMP_LIMIT)
Яугадывание ошибки происходит из-за компилятора и того, как он обрабатывает, когда в процессе компиляции эта переменная определена, и, поскольку Fedora 8 немного устарела, у него может быть более старая версия некоего компилятора, который ее испортил.У кого-нибудь есть идея, как мне обойти эту переменную, отображаемую как "undeclared"?