• Страница 1 из 1
  • 1
Архив - только для чтения
Модератор форума: andycrowz  
Ошибки при компиляции
Fuckhorde
Сержант
Добрый вечер! прошу помочь исправить ошибку может кто сталкивался,с меня +
Вот сама ошибка
Цитата
TrinityCore\src\server\shared\SystemConfig.h(25): fatal error C1083: Не удается открыть файл включение: revision.h: No such file or directory
Сообщение # 1 написано 31.03.2014 в 16:28
staford11
^s†af0rd f0rever^
Fuckhorde, вы бы хоть ошибки сначала переводили. Пишет, что не может открыть файл revision.h, якобы его нет.
Победоносная @ Галакронд
Мои сборки под 3.3.5а 12340

Исправительные работы: в наличии.
Сообщение # 2 написано 31.03.2014 в 19:41
staford11
^s†af0rd f0rever^
Цитата Fuckhorde ()
staford11, переводил этот файл появляется после компиляции.

Значит должна быть еще ошибка, поищи.
Победоносная @ Галакронд
Мои сборки под 3.3.5а 12340

Исправительные работы: в наличии.
Сообщение # 3 написано 01.04.2014 в 07:18
Malezha
Армия спасения
Цитата Fuckhorde ()
staford11, переводил этот файл появляется после компиляции.

Ога, после компиляции...
Даже по названию можно догадаться что в нем содержаться дефинды с данными о ревизии, дате последнего коммита и информация о разработчике.
Файл подготавливается на базе шаблона "./revision.h.in.cmake" cmake'ом и берет данные из гита или заполняет их дефолтными если гит недоступен ("./cmake/genrev.cmake").
Сообщение # 4 отредактировано Malezha - Вторник, 01.04.2014, 11:15
Fuckhorde
Сержант
revision.h.in.cmake
Цитата
#ifndef __REVISION_H__
#define __REVISION_H__
#define _HASH "@rev_hash@"
#define _DATE "@rev_date@"
#define _BRANCH "@rev_branch@"
#define VER_COMPANYNAME_STR "IFeed Developers"
#define VER_LEGALCOPYRIGHT_STR "© 2013 IFeed-Core"
#define VER_FILEVERSION 0,0,0
#define VER_FILEVERSION_STR "@rev_hash@ @rev_date@ (@rev_branch@ branch)"
#define VER_PRODUCTVERSION VER_FILEVERSION
#define VER_PRODUCTVERSION_STR VER_FILEVERSION_STR
#endif // __REVISION_H__

genrev.cmake
Цитата
# Copyright © 2008-2013 Trinity <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

# User has manually chosen to ignore the git-tests, so throw them a warning.
# This is done EACH compile so they can be alerted about the consequences.

if(NOT BUILDDIR)
# Workaround for funny MSVC behaviour - this segment only run during compile
set(NO_GIT ${WITHOUT_GIT})
set(GIT_EXEC ${GIT_EXECUTABLE})
set(BUILDDIR ${CMAKE_BINARY_DIR})
endif()

if(NO_GIT)
set(rev_date "1970-01-01 00:00:00 +0000")
set(rev_hash "unknown")
set(rev_branch "Archived")
else()
if(GIT_EXEC)
# Create a revision-string that we can use
execute_process(
COMMAND "${GIT_EXEC}" describe --match init --dirty=+ --abbrev=12
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
OUTPUT_VARIABLE rev_info
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_QUIET
)

# And grab the commits timestamp
execute_process(
COMMAND "${GIT_EXEC}" show -s --format=%ci
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
OUTPUT_VARIABLE rev_date
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_QUIET
)

# Also retrieve branch name
execute_process(
COMMAND "${GIT_EXEC}" rev-parse --abbrev-ref HEAD
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
OUTPUT_VARIABLE rev_branch
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_QUIET
)
endif()

# Last minute check - ensure that we have a proper revision
# If everything above fails (means the user has erased the git revision control directory or removed the origin/HEAD tag)
#if(NOT rev_info)
# No valid ways available to find/set the revision/hash, so let's force some defaults
#message(STATUS "
#Could not find a proper repository signature (hash) - you may need to pull tags with git fetch -t
#Continuing anyway - note that the versionstring will be set to \"unknown 1970-01-01 00:00:00 (Archived)"\")
#set(rev_date "1970-01-01 00:00:00 +0000")
#set(rev_hash "unknown")
#set(rev_branch "Archived")
if()
# Extract information required to build a proper versionstring
string(REGEX REPLACE init-|[0-9]+-g "" rev_hash ${rev_info})
endif()
endif()

# Create the actual revision.h file from the above params
if(NOT "${rev_hash_cached}" MATCHES "${rev_hash}" OR NOT "${rev_branch_cached}" MATCHES "${rev_branch}")
configure_file(
"${CMAKE_SOURCE_DIR}/revision.h.in.cmake"
"${BUILDDIR}/revision.h"
@ONLY
)
set(rev_hash_cached "${rev_hash}" CACHE INTERNAL "Cached commit-hash")
set(rev_branch_cached "${rev_branch}" CACHE INTERNAL "Cached branch name")
endif()
Сообщение # 5 отредактировано Fuckhorde - Вторник, 01.04.2014, 20:20
Malezha
Армия спасения
Цитата Fuckhorde ()
#set(rev_date "1970-01-01 00:00:00 +0000")
#set(rev_hash "unknown")
#set(rev_branch "Archived")

Если у вас гит не может взять ревизию вы и не заполняете данные по умолчанию.
Цитата Fuckhorde ()
#define _HASH "@rev_hash@"
#define _DATE "@rev_date@"
#define _BRANCH "@rev_branch@"

Дефинды не заполняются.
Сообщение # 6 отредактировано Malezha - Среда, 02.04.2014, 00:07
Malezha
Армия спасения
Нет, они автоматически заполняются, но вы закомментрировали их заполнение данными по дефолту.
В общем насколько я понял, ситуация такая:
  • гит не может прочитать данные от ревизии
  • закомментированый фрагмент создает переменные и заполняет их данными по умолчанию если данные о ревизии не найдены
  • смейк не может подставить данные из несуществующих переменных в шаблон
  • файл revision.h не создается
  • Сообщение # 7 написано 02.04.2014 в 12:49
    • Страница 1 из 1
    • 1
    Поиск: