ربط رمز C++ مع 'مجلس التعاون الخليجي' (بدون g++)

StackOverflow https://stackoverflow.com/questions/1001535

  •  05-07-2019
  •  | 
  •  

سؤال

مرحبا جميعا:سؤال سريع:أنا في حالة حيث أنه سيكون من المفيد إنشاء بلدي C + + القابلة للتنفيذ فقط باستخدام 'مجلس التعاون الخليجي' (بدون g++).السبب في ذلك هو أن لدي تقديم قانون آلية تقديم الخادم التي لا تعترف 'g++' (أو 'c', لهذه المسألة) الأمر.

في بلدي التجارب ، بينما أنا تجميع دول مجلس التعاون الخليجي يعمل بشكل جيد.المشكلة هي عند محاولة ربط إنشاء ملفات الكائن يحصل عابث.الآن بناء على ما فهمته من دول مجلس التعاون الخليجي الصفحة رجل (قد يكون بعيدا ، لذلك قل لي إذا أنا) ، g++ هي في الأساس دول مجلس التعاون الخليجي ، ولكن الروابط C++ المكتبة.

إذا كان هذا صحيحا, كيف يمكنني (إن أمكن) صراحة ربط مكتبة C دون باستخدام g++ (c أو++) القيادة ؟

تحرير: انا إضافة makefile لتوضيح المشكلة بشكل أفضل:

COMPILER = gcc
CFLAGS = -Wall -g -x c++

# MODULE COMPILATION
model: modules/model.h modules/sources/model.cpp
    $(COMPILER) $(CFLAGS) -c modules/sources/model.cpp -o obj/model.o

algorithms: modules/algorithms.h modules/sources/algorithms.cpp
    $(COMPILER) $(CFLAGS) -c modules/sources/algorithms.cpp -o obj/algorithms.o

io: modules/io.h modules/sources/io.cpp
    $(COMPILER) $(CFLAGS) -c modules/sources/io.cpp -o obj/io.o

stopwatch: modules/stopwatch.h modules/sources/stopwatch.cpp
    $(COMPILER) $(CFLAGS) -c modules/sources/stopwatch.cpp -o obj/stopwatch.o

# EXECUTABLE GENERATION
exe: model algorithms io stopwatch
    $(COMPILER) $(CFLAGS) main.cpp obj/model.o obj/algorithms.o obj/io.o obj/stopwatch.o -o bin/process

# DEFAULT TEST CASE
run: exe
    ./bin/process -i data/nasa_small.log -a data/nasa_small.access -s data/nasa_small.stack

# CLEANING ROUTINE
clean:
    rm -f obj/*
هل كانت مفيدة؟

المحلول

يمكنك ربط معيار c++ المكتبة مع -l العلم أن دول مجلس التعاون الخليجي:

gcc cplusplus.o -lstdc++ -o myexe

نصائح أخرى

إذا قمت بتشغيل g++ مع "v" الخيار سوف تظهر ما الأوامر و الخيارات التي يستخدمها.يجب أن تكون قادرة على استنتاج الصحيحة دول مجلس التعاون الخليجي سطر الأوامر من هناك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top