🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #217867

undefined reference to __asan przy kompilacja pugixml w Win10

#217867
From: Jivanmukta
Date: Wed, 16 Nov 2022 15:40
118 lines
4024 bytes
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)-$(cxxstd)

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-overflow 
-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
Technical Details
Message-ID: <tl33pf$3ad1$1@portraits.wsisiz.edu.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!.POSTED.2a01:110f:1505:4500:711b:9fc1:db97:b02a!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!.POSTED.2a01:110f:1505:4500:711b:9fc1:db97:b02a!not-for-mail
From: Jivanmukta <jivanmukta@poczta.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
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="abuse@wsisiz.edu.pl"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.5.0
X-Antivirus: AVG (VPS 221116-2, 16.11.2022), Outbound message
X-Antivirus-Status: Clean
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit