Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


syntaxfel före "__extension__"

Postades av 2005-03-08 08:54:14 - Magnus Olsson, i forum c++, Tråden har 4 Kommentarer och lästs av 811 personer

Jag försöker kompilera ett program (som jag inte själv har skrivit) och får då följande flmeddelande:

g++ -I../../../include -Wno-deprecated -c DataList.cc
I fil includerad från ../../../include/CMS/DataList.h:11,
från DataList.cc:12:
../../../include/Tools/string.h:50: syntaxfel före "__extension__"

Jag har provat med både gcc, g++ och c++ och med olika parametrar, men med samma resultat. Programmet har tidigare kompilerats (utan problem) under RedHat Linux men nu sitter jag på en RedHat Linux ES. Vad kan det vara för fel?


Svara

Sv: syntaxfel före "__extension__"

Postades av 2005-03-09 13:23:25 - Magnus Olsson

hmm, problemet löstes om jag kommentrerar bort "const int INFINITY = -1;" i ../../../include/Tools/string.h på rad 50.

Jag testade att skriva följande script:
#include <math.h>
int main(int, char**) {
const int INFINITY = -1;
}
g++ nothing.cpp

Detta ledde till sama fel, så allt beror på att math.h (och också cmath) deklarera detta. Jag har kommit runt felet genom att ändra i math.h när jag ska kompilera programmet, men det är verkligen ingen bra lösning. Finns något bra sätt att lösa detta utan att ändra i koden.



Svara

Sv:syntaxfel före "__extension__"

Postades av 2005-03-09 18:19:01 - Niklas Jansson

Utan att ordentligt satt mig in i ditt problem ser det spontant ut som att du har lokaliserat problemet till att INFINITY är dubbelt deklarerad?

Det är i så fall exakt vad namespaces är till för. Det finns lite olika metoder, men hur du lämpligast gör beror en hel del på vad du kan göra med programmet och filerna.

För det första bör du bara använda cmath - inte math.h.

Antingen ser du till att kapsla in ditt program i ett eget namespace, och refererar till dittnamn::INFINITY, eller så ser du till att inte släppa namespacet, dvs inte skriva "using namespace std" någonstans, utan bara släppa det som är aktuellt.


Svara

Sv: syntaxfel före "__extension__"

Postades av 2005-03-09 22:10:43 - Magnus Olsson

Jo, det stämmer att INFINITY redan är definerad (med #define). Den bästa lösningen jag kommit på hittills utan att ändra för mycket i koden är att lägga till #undef INFINITY före deklarationen av konstanten. Problemet är att jag inte äger koden, och att denna patch försvinner när nästa version kommer (programmet är skrivet för SUN7). Jag tror inte själv på att det finns någon bättre lösning (utan att skriva om massa), men man vet ju inte allt.

Jag har påpekat problemet för de som ligger bakom koden, så får jag hoppas att de rätta till det till nästa version.


Svara

Sv:syntaxfel före "__extension__"

Postades av 2005-03-10 12:59:50 - Niklas Jansson

Men om vi säger så här:

1. Du har köpt/fått ett program, skrivet av någon annan?
2. All kod är skriven av denna "någon annan" - du har inte skrivit något själv i den alls?

I så fall är du nog rökt, ja... det vettigaste sättet hade naturligtvis varit att se till att hålla namnrymderna isär, men har du inget inflytande över koden blir det nog svårt...


Svara

Nyligen

  • 21:41 Automotive Services UK
  • 20:44 Erfarenhet av CBD-olja mot sömnpro
  • 12:13 Sex Dolls for Sale
  • 19:42 Online Casinos for Haitian Players
  • 19:38 Rekommendera något intressant
  • 19:13 Международная перевозка грузов
  • 00:01 DL Van Tuning | Exclusive Body Kit
  • 12:08 Indian casino

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 880
27 965
271 776
679
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies