eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingundefined reference to __asan przy kompilacja pugixml w Win10 › undefined reference to __asan przy kompilacja pugixml w Win10
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!.POSTED.2a01:110f:1505:45
    00:711b:9fc1:db97:b02a!not-for-mail
    From: Jivanmukta <j...@p...onet.pl>
    Newsgroups: pl.comp.programming
    Subject: undefined reference to __asan przy kompilacja pugixml w Win10
    Date: Wed, 16 Nov 2022 16:40:15 +0100
    Organization: http://www.wit.edu.pl
    Message-ID: <tl33pf$3ad1$1@portraits.wsisiz.edu.pl>
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    Injection-Date: Wed, 16 Nov 2022 16:40:15 -0000 (UTC)
    Injection-Info: portraits.wsisiz.edu.pl;
    posting-host="2a01:110f:1505:4500:711b:9fc1:db97:b02a";
    logging-data="108961"; mail-complaints-to="a...@w...edu.pl"
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
    Thunderbird/102.5.0
    Content-Language: pl
    X-Antivirus: AVG (VPS 221116-2, 16.11.2022), Outbound message
    X-Antivirus-Status: Clean
    Xref: news-archive.icm.edu.pl pl.comp.programming:215928
    [ ukryj nagłówki ]

    Przy próbie kompilacji w Win10 biblioteki pugixml do pugixml.obj mam błędy:
    undefined reference to `__asan.........
    Mój program w C++ używa tej biblioteki. Pod Linuxem nie mam tych
    komunikatów.
    Katalog pugixml/ zawiera plik Makefile. Czy mam coś zmienić w Makefile?


    .SUFFIXES:
    MAKEFLAGS+=-r

    config=debug
    defines=standard
    cxxstd=c++11
    # set cxxstd=any to disable use of -std=...

    BUILD=build/make-$(CXX)-$(config)-$(defines)-$(cxxst
    d)

    SOURCES=src/pugixml.cpp $(filter-out tests/fuzz_%,$(wildcard tests/*.cpp))
    EXECUTABLE=$(BUILD)/test

    VERSION=$(shell sed -n 's/.*version \(.*\).*/\1/p' src/pugiconfig.hpp)
    RELEASE=$(filter-out scripts/archive.py docs/%.adoc,$(shell git ls-files
    docs scripts src CMakeLists.txt LICENSE.md readme.txt))

    CXXFLAGS=-g -Wall -Wextra -Werror -pedantic -Wundef -Wshadow
    -Wcast-align -Wcast-qual -Wold-style-cast -Wdouble-promotion
    LDFLAGS=

    ifeq ($(config),release)
    CXXFLAGS+=-O3 -DNDEBUG
    endif

    ifeq ($(config),coverage)
    CXXFLAGS+=-coverage
    LDFLAGS+=-coverage
    endif

    ifeq ($(config),sanitize)
    CXXFLAGS+=-fsanitize=address,undefined
    -fno-sanitize=float-divide-by-zero,float-cast-overfl
    ow
    -fno-sanitize-recover=all
    LDFLAGS+=-fsanitize=address,undefined
    endif

    ifeq ($(config),analyze)
    CXXFLAGS+=--analyze
    endif

    ifneq ($(defines),standard)
    COMMA=,
    CXXFLAGS+=-D $(subst $(COMMA), -D ,$(defines))
    endif

    ifneq ($(findstring PUGIXML_NO_EXCEPTIONS,$(defines)),)
    CXXFLAGS+=-fno-exceptions
    endif

    ifneq ($(cxxstd),any)
    CXXFLAGS+=-std=$(cxxstd)
    endif

    OBJECTS=$(SOURCES:%=$(BUILD)/%.o)

    all: $(EXECUTABLE)

    ifeq ($(config),coverage)
    test: $(EXECUTABLE)
    -@find $(BUILD) -name '*.gcda' -exec rm {} +
    ./$(EXECUTABLE)
    @gcov -b -o $(BUILD)/src/ pugixml.cpp.gcda | sed -e '/./{H;$!d;}' -e
    'x;/pugixml.cpp/!d;'
    @find . -name '*.gcov' -and -not -name 'pugixml.cpp.gcov' -exec rm {} +
    @sed -i -e "s/#####\(.*\)\(\/\/ unreachable.*\)/ 1\1\2/"
    pugixml.cpp.gcov
    else
    test: $(EXECUTABLE)
    ./$(EXECUTABLE)
    endif

    fuzz_%: $(BUILD)/fuzz_%
    @mkdir -p build/$@
    $< build/$@ tests/data_fuzz_$* -max_len=1024 -dict=tests/fuzz_$*.dict

    clean:
    rm -rf $(BUILD)

    release: build/pugixml-$(VERSION).tar.gz build/pugixml-$(VERSION).zip

    docs: docs/quickstart.html docs/manual.html

    build/pugixml-%: .FORCE | $(RELEASE)
    @mkdir -p $(BUILD)
    TIMESTAMP=`git show v$(VERSION) -s --format=%ct` && python
    scripts/archive.py $@ pugixml-$(VERSION) $$TIMESTAMP $|

    $(EXECUTABLE): $(OBJECTS)
    $(CXX) $(OBJECTS) $(LDFLAGS) -o $@

    $(BUILD)/fuzz_%: tests/fuzz_%.cpp src/pugixml.cpp
    @mkdir -p $(BUILD)
    $(CXX) $(CXXFLAGS) -fsanitize=address,fuzzer $^ -o $@

    $(BUILD)/%.o: %
    @mkdir -p $(dir $@)
    $(CXX) $< $(CXXFLAGS) -c -MMD -MP -o $@

    -include $(OBJECTS:.o=.d)

    .SECONDEXPANSION:
    docs/%.html: docs/%.adoc $$(shell sed -n
    's/include\:\:\(.*\)\[.*/docs\/\1/p' docs/%.adoc)
    asciidoctor -b html5 -a version=$(VERSION) $< -o $@

    .PHONY: all test clean release .FORCE

    --
    Ta wiadomość e-mail została sprawdzona pod kątem wirusów przez oprogramowanie
    antywirusowe AVG.
    www.avg.com

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: