Saxon-C CentOS8 컴파일

수건

CentOS8에서 Saxon-C 1.2.1 HE를 평가하려고하는데 설치가 잘 된 것 같습니다. 샘플을 시도 cd samples/cppTests && build64-linux.sh하면 다음과 같은 조정에 수많은 컴파일 오류가 발생합니다.

../../Saxon.C.API/SaxonProcessor.h:599:32 : error : division 'sizeof (JNINativeMethod *) / sizeof (JNINativeMethod)'는 배열 요소의 수를 계산하지 않습니다 [-Werror = sizeof-pointer -div] gMethods, sizeof (gMethods) / sizeof (gMethods [0]));

요약하고 신뢰할 수있게 끄기 전에 -Werror = sizeof-pointer-div 소스 코드를 확인했고 거기에서 무슨 일이 벌어지고 있는지 모호해 보입니다.

bool registerCPPFunction(char * libName, JNINativeMethod * gMethods=NULL){
    if(libName != NULL) {
        setConfigurationProperty("extc", libName);

    }

    if(gMethods == NULL && nativeMethodVect.size()==0) {
    return false;
    } else {
        if(gMethods == NULL) {
            //copy vector to gMethods
            gMethods = new JNINativeMethod[nativeMethodVect.size()];
        }
        return registerNativeMethods(sxn_environ->env, "com/saxonica/functions/>
    gMethods, sizeof(gMethods) / sizeof(gMethods[0]));


    }
    return false;
}

더 구체적 sizeof(gMethods) / sizeof(gMethods[0])으로 어떤 마진으로도 유용한 것을 계산하지 않는 것 같습니다. 의도는 아마도 동일한 값에 도달하는 일부 코드를 출력하는 것이 nativeMethodVect.size()었지만 처음 으로이 프로젝트의 소스를 보는 것은 착각 할 수 있으며 분할은 실제로 의도적입니까?

나는 의도가 실제로 다음 예에서 a보다 b에 더 가깝다고 추측하는 경향이 있습니다.

#include <cstdio>
struct test
{
    int x, y, z;
};
int main()
{
    test *a = new test[32], b[32];
    printf("%d %d\n", sizeof(a)/sizeof(a[0]), sizeof(b)/sizeof(b[0]));
    return 0;
}

sizeof (a)로 예상되는 0 32 출력은 배열의 메모리 영역 크기가 아닌 포인터 크기를 제공합니다.

un1

이 코드는 XSLT 스타일 시트 및 XQuery 쿼리에서 사용자 정의 확장 기능 의 기능을 지원하는 것입니다 . 사용자가 이러한 기능을 사용하지 않는 경우 해당 코드가 필요하지 않습니다. 실제로 사용자 정의 확장 함수는 Saxon-PE / C 및 Saxon-EE / C에서만 사용할 수 있으므로 Saxon-HE / C 코드베이스에 있으면 안됩니다. 위의 오류를 조사하고 https://saxonica.plan.io/issues/4477에 다음 버그 문제를 만들었습니다.

해결 방법은 확장 기능 기능이 사용되지 않는 경우 문제의 코드를 제거하거나 컴파일 플래그 -Werror = sizeof-pointer-div를 제거하는 것입니다.

의도는 다음과 같습니다.

jobject JNICALL cppNativeCall(jstring funcName, jobjectArray arguments, jobjectArray argTypes){
   //native call code here

}

JNINativeMethod cppMethods[] =
{
  {
     fname,
     funcParameters,
     (void *)&cppNativeCall
  }
};

bool nativeFound = processor->registerNativeMethods(env, "NativeCall",
cppMethods, sizeof(cppMethods) / sizeof(cppMethods[0]));

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

C # Cache Saxon 컴파일러 및 실행 가능 개체

분류에서Dev

.desktop 파일은 centos8에서 실행 가능하지 않습니다.

분류에서Dev

CentOS8 / RedHat8-사용자 지정 컴파일시 AppStream 모듈을 비활성화 하시겠습니까?

분류에서Dev

C ++ Windows 8 컴파일 후 결과 없음

분류에서Dev

C / C ++ 컴파일러 (Windows)

분류에서Dev

C #-컴파일러 오류

분류에서Dev

Visual C ++ 컴파일 오류

분류에서Dev

Linux C 컴파일러

분류에서Dev

C ++ 컴파일 링 링크

분류에서Dev

C 컴파일 오류

분류에서Dev

C Codelite 컴파일 오류

분류에서Dev

C ++ Linux 컴파일 오류

분류에서Dev

파이썬에서 saxon-c를 사용 가능하게 만들기

분류에서Dev

CentOS에서 c 프로그램의 gcc 컴파일 중에 포함 파일 누락

분류에서Dev

C 파일 컴파일시 Makefile 오류

분류에서Dev

C에서 MEX 파일 컴파일

분류에서Dev

OS X에서 C 파일 컴파일

분류에서Dev

C ++ (. cpp)를 .exe 파일로 컴파일

분류에서Dev

"dotnet 빌드"용 C # 8 명령 줄 컴파일러의 최소 설치

분류에서Dev

C ++ 소스를 컴파일하여 Windows Store 앱에서 사용 (Windows 8)

분류에서Dev

C ++ 컴파일러에서 C 프로그램 컴파일

분류에서Dev

컴파일이 이전 컴파일에서 멈춤 C ++

분류에서Dev

cc1plus의 CentOS 8 Mingw 컴파일 오류

분류에서Dev

MacOS에서 C / C ++ 코드 컴파일

분류에서Dev

MacOS에서 C / C ++ 코드 컴파일

분류에서Dev

컴파일 오류 : cast void * failed in C / C ++

분류에서Dev

mobaxterm-C 및 C ++ 컴파일 문제

분류에서Dev

메이크 파일 오류, 여러 C 파일 컴파일

분류에서Dev

C # 솔루션에서 CentOS 용으로 무언가를 컴파일 할 가능성이 있습니까?

Related 관련 기사

뜨겁다태그

보관