Okay, bei mir lag es am COMODO Firewall. Es nutzt auch nichts, wenn man diesen einfach abschaltet da ein Dienst ("cmdagent.exe") sich nicht beendet und beenden lässt.
Befindet sich MinGW mit Debugger in einen Unterverzeichnis von CB funktioniert das Debuggen soweit bis auf "SIGSEV fault in C:\Window\system32\guard.dll".
Also runter mit dem Firewall und da hat man es wieder:
"Jede Sicherheit wird sich ganz sicher bitter an dir rächen."
Da es getaddrinfo/freeaddrinfo erst ab Windows XP gibt, werden die Funktionen in der Datei Wspiapi.h für ältere Betriebssysteme emuliert. Diese Emulation hat der MinGW nicht, aber man kann den Header aus Visual C++ mit einer kleinen Änderung auch in MinGW nutzen. Man muss da glaub ich nur irgendwo einen Unterstrich hinzufügen.
Belli schrieb:
Wenn Du mir verrätst, wie ich kontrollieren kann, ob das auch stimmt, will ich das gerne tun (wie kann ich sehen, ob meine Binary msvcrt.dll bindet?)
ZB mittels Dependency Walker. Falls du Total Commander benutzt, gibt es auch ein nettes Plugin namens fileinfo.
X schrieb:
Seit wann sind dessen Exe-Dateien bitteschön per default von einer speziellen DLL abhängig?
Grundsätzlich erstmal nicht. Sobald du aber bestimmte Funktionen der Standardbibliothek verwendest, wird die MS Runtime hinzugelinkt, und zwar dynamisch.
Hi Forum,
Wie ist es möglich in Code::Blocks einzustellen das mir Warnungen auch angezeigt werden wenn keine Fehler vorliegen? Ich also z.b. bei deisem Code
int main(int argc, char* argv[]) {
return 0;
}
eine Warnung angezeigt bekomme? Also in diesem Fall das die Parameter argc, und argv nicht im Code benutzt werden. Die Compileroptionen -W und -Wall sind gesetzt.
Mfg X4rd3n
edit: habe das Problem nun selbst gelöst. Mein Fehler war das ich immer "Build and run" benutzt habe. Dabei löscht er das "Build messages"-Fenster. Wenn man beides eizeln macht ist das nicht der Fall.
~fricky schrieb:
und wenn bibliothek B ihrerseits ein objekt benötigt, das in bibliothek A steckt, dann kann der 'ld' beide libs überhaupt nicht zusammenlinken. richtig?
Nee, dann muss man die Bibliothek eben mehrmals angeben.
EDIT: Oder gruppieren
... -( -la -lb -lc -)
Dieser Thread wurde von Moderator/in Phoemuex aus dem Forum C++ in das Forum Compiler- und IDE-Forum verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?
Dieses Posting wurde automatisch erzeugt.
Ich habe nur eine _vimrc direkt im Hauptordner.
Nur leider habe ich keine Ahnung, wo ich das da genau einfügen muss, falls das die richtige Datei ist.
MfG
DerRatlose
EDIT: Ok, habe es. _vimrc ist die richtige Datei. Der Befehlt war allerdings nicht "set sts=3" sondern "set sw=3". Bin drauf gekommen, als ich bei einer geöffneten Datei unter Einstellungen nach shiftwidth gesucht habe.
I remember Win3.11 times, when I tried to compile some C++ program by Visual C++, and get error at call of function, because I had not assigned the function result to some variable.
It is hard to imagine that Windows 3.11 was compiled by such compiler
Schau mal den NMAKE Syntax an. Wenn Du ein Minus vor den Befehl stellst, wird die Fehlerprüfung ausgeschaltet!
http://msdn.microsoft.com/en-us/library/y5d8s7f6(VS.71).aspx
Ich habe ein Makefile erstellt, welches einen Ordner voller *c und *h -Dateien in eine Library linkt.
CC=gcc
AR=ar
RANLIB=ranlib
system=Linux
OBJECTS=backend.o bios.o config.o error.o nv30.o nv31.o nv40.o info.o overclock.o i2c.o xf86i2c.o lm99.o f75375.o w83l785r.o libc_wrapper.o
CFLAGS=
ifeq ($(system), FreeBSD)
OBJECTS+=back_bsd.o
else
ifeq ($(system), Win32)
OBJECTS+=back_win32.o
else
OBJECTS+=back_linux.o
endif
endif
.PHONY: clean distclean
all: libbackend.a
libbackend.a: $(OBJECTS)
$(AR) cru libbackend.a $(OBJECTS)
$(RANLIB) libbackend.a
clean:
rm -f *.o *.a
distclean: clean
rm -f Makefile
install:
uninstall:
Dann habe ich einen Ordner, welcher auf Basis dieser Library eine 2. erstellen sollte:
CC=gcc
AR=ar
RANLIB=ranlib
system=Linux
SOURCES=smartdimmer.c
SUBDIRS=backend
libbackend=./backend/libbackend.a
DEPS=$(libbackend)
INCLUDES=-I./backend -I..
LIBS=-L./backend -lbackend
OBJECTS=smartdimmer.o ./backend/libbackend.a
.PHONY: all-recursive clean distclean
all: all-recursive smartdimmer.o libsmartdimmer.a
smartdimmer.o: $(LIB) smartdimmer.c
$(CC) -c smartdimmer.c $(SOURCES) $(INCLUDES) $(LIBS)
libsmartdimmer.a: $(OBJECTS)
$(AR) cru libsmartdimmer.a $(OBJECTS)
$(RANLIB) libsmartdimmer.a
clean: clean-recursive clean-lib
clean-lib:
rm -f *.o *.a *~
distclean: distclean-recursive clean-lib
rm -f Makefile
install:
uninstall:
# Walk through the sub directories and do what is requested
all-recursive clean-recursive distclean-recursive:
@set fnord; target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
$(MAKE) -C $$subdir $$target ; \
done;
Und nun wollte ich aus KDE-technischen Gründen das Ganze auf cmake umstellen....
Dazu habe ich die Dateien der beiden Unterordner aufgezählt und per cmake-buildmakro sollen dann daraus die Libs gemacht werden. Der untere Abschnitt stammt noch aus dem Kde-Plugin-Tutorial. Allerdings scheint Irgendwas schief zu laufen
# Project Needs a name ofcourse
project(plasma-tutorial1)
add_subdirectory( backend )
add_subdirectory( smartdimmer )
# source files for zlib
SET(BACKEND_SRCS ${BACKEND_SRCS}
backend/backend.c
backend/bios.c
backend/config.c
backend/error.c
backend/nv30.c
backend/nv31.c
backend/nv40.c
backend/info.c
backend/overclock.c
backend/i2c.c
backend/xf86i2c.c
backend/lm99.c
backend/f75375.c
backend/w83l785r.c
backend/libc_wrapper.c
)
SET(SMARTD_SRCS ${SMARTD_SRCS}
smartdimmer/smartdimmer.c
)
ADD_LIBRARY(backend_shared ${BACKEND_SRCS})
ADD_LIBRARY(smartdimmer_shared ${SMARTD_SRCS})
# Find the required Libaries
find_package(KDE4 REQUIRED)
include(KDE4Defaults)
find_package(Plasma REQUIRED)
add_definitions (${QT_DEFINITIONS} ${KDE4_DEFINITIONS})
include_directories(
${CMAKE_SOURCE_DIR}
${CMAKE_BINARY_DIR}
${KDE4_INCLUDES}
${CMAKE_SOURCE_DIR}/backend
${CMAKE_SOURCE_DIR}/smartdimmer
)
# We add our source code here
set(tutorial1_SRCS plasma-tutorial1.cpp PopUp.cpp)
# Now make sure all files get to the right place
kde4_add_plugin(plasma_applet_tutorial1 ${tutorial1_SRCS})
target_link_libraries(plasma_applet_tutorial1
${PLASMA_LIBS} ${KDE4_KDEUI_LIBS})
install(TARGETS plasma_applet_tutorial1
DESTINATION ${PLUGIN_INSTALL_DIR})
install(FILES plasma-applet-tutorial1.desktop
DESTINATION ${SERVICES_INSTALL_DIR})
Ich bekomme folgenden Fehler:
[ 5%] Building C object CMakeFiles/backend_shared.dir/backend/backend.o
/home/Xerces/devel/dimmer_applet_cmake/backend/backend.c: In function ‘set_card’:
/home/Xerces/devel/dimmer_applet_cmake/backend/backend.c:83: warning: passing argument 1 of ‘NV_I2CCreateBusPtr’ discards qualifiers from pointer target type
/home/Xerces/devel/dimmer_applet_cmake/backend/backend.c:84: warning: passing argument 1 of ‘NV_I2CCreateBusPtr’ discards qualifiers from pointer target type
/home/Xerces/devel/dimmer_applet_cmake/backend/backend.c:92: warning: passing argument 1 of ‘NV_I2CCreateBusPtr’ discards qualifiers from pointer target type
[ 10%] Building C object CMakeFiles/backend_shared.dir/backend/bios.o
/home/Xerces/devel/dimmer_applet_cmake/backend/bios.c:314:5: warning: "DEBUG" is not defined
/home/Xerces/devel/dimmer_applet_cmake/backend/bios.c: In function ‘dump_bios’:
/home/Xerces/devel/dimmer_applet_cmake/backend/bios.c:324: warning: unused variable ‘j’
/home/Xerces/devel/dimmer_applet_cmake/backend/bios.c: In function ‘parse_bios’:
/home/Xerces/devel/dimmer_applet_cmake/backend/bios.c:393: warning: passing argument 2 of ‘locate’ discards qualifiers from pointer target type
/home/Xerces/devel/dimmer_applet_cmake/backend/bios.c:403: warning: passing argument 2 of ‘locate’ discards qualifiers from pointer target type
/home/Xerces/devel/dimmer_applet_cmake/backend/bios.c:403: error: expected expression before ‘/’ token
/home/Xerces/devel/dimmer_applet_cmake/backend/bios.c:408: warning: passing argument 2 of ‘locate’ discards qualifiers from pointer target type
/home/Xerces/devel/dimmer_applet_cmake/backend/bios.c:408: warning: passing argument 2 of ‘locate’ discards qualifiers from pointer target type
/home/Xerces/devel/dimmer_applet_cmake/backend/bios.c:439:5: warning: "DEBUG" is not defined
/home/Xerces/devel/dimmer_applet_cmake/backend/bios.c:390: warning: unused variable ‘i’
make[2]: *** [CMakeFiles/backend_shared.dir/backend/bios.o] Fehler 1
Sowas trat bei den Makefiles nicht auf, weis jemand Rat? Ich bin leider vollkommen neu bei cmake.
Ich habe den Artikel nur mal schnell überflogen, scheint aber wenig aussagekräftig zu sein. Erstens sind die verwendeten Versionen mittlerweile doch etwas älter. Und zweitens wurde dort offensichtlich nur mit mittleren Compiler Flags optimiert. Da lässt sich schlecht sagen, wie das der jeweilige Compiler handelt.
Belli schrieb:
@Sothis und Kuhjunge:
Ich will gerade mal mit MinGW ein bißchen herumexperimentieren. Gelten die Beschreibungen zum gcc bzw. make, die sich hinter Euren Links verbergen, auch für die Windows-Version des GNU - Compilers?
mit ein paar kleinen ausnahmen (in der regel eher zusätzliche optionen für die windows platform), ja
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Compiler- und IDE-Forum verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?
Dieses Posting wurde automatisch erzeugt.
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Compiler- und IDE-Forum verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?
Dieses Posting wurde automatisch erzeugt.