неиспользуемая команда компоновщика с clang ++ 8 - PullRequest
0 голосов
/ 04 марта 2019

Я использую код этого этого урока , чтобы связать простую основную функцию с библиотекой накаливания.

Структура папок:

|-- README.md
|-- bin
|-- docs
|-- include
|-- lib
|-- main.cpp

И я развернул содержимое файла сборки следующим образом:

/usr/bin/clang-cpp-8 main.cpp -L./lib/x86_64/ -I./include -lfilament -lbluegl -lbluevk -lfilabridge -lfilaflat -lutils -lpthread -lc++ -ldl -lm -std=c++14 -pthread -c

Но когда я запускаю эту строку или исходный файл сборки, я получаю:

clang: warning: -lfilament: 'linker' input unused in cpp mode [-Wunused-command-line-argument]
clang: warning: -lbluegl: 'linker' input unused in cpp mode [-Wunused-command-line-argument]
clang: warning: -lbluevk: 'linker' input unused in cpp mode [-Wunused-command-line-argument]
clang: warning: -lfilabridge: 'linker' input unused in cpp mode [-Wunused-command-line-argument]
clang: warning: -lfilaflat: 'linker' input unused in cpp mode [-Wunused-command-line-argument]
clang: warning: -lutils: 'linker' input unused in cpp mode [-Wunused-command-line-argument]
clang: warning: -lpthread: 'linker' input unused in cpp mode [-Wunused-command-line-argument]
clang: warning: -lc++: 'linker' input unused in cpp mode [-Wunused-command-line-argument]
clang: warning: -ldl: 'linker' input unused in cpp mode [-Wunused-command-line-argument]
clang: warning: -lm: 'linker' input unused in cpp mode [-Wunused-command-line-argument]
clang: warning: argument unused during compilation: '-L./lib/x86_64/' [-Wunused-command-line-argument]

плюс по какой-то причине следующий вывод (только частичный, потому что он слишком длинный)

# 1 "main.cpp"
# 1 "<built-in>" 1
# 1 "<built-in>" 3
# 389 "<built-in>" 3
# 1 "<command line>" 1
# 1 "<built-in>" 2
# 1 "main.cpp" 2
# 1 "./include/filament/FilamentAPI.h" 1
# 20 "./include/filament/FilamentAPI.h"
# 1 "./include/utils/compiler.h" 1
# 21 "./include/filament/FilamentAPI.h" 2

# 1 "/usr/include/clang/8.0.0/include/stddef.h" 1 3
# 51 "/usr/include/clang/8.0.0/include/stddef.h" 3
typedef long int ptrdiff_t;
# 62 "/usr/include/clang/8.0.0/include/stddef.h" 3
typedef long unsigned int size_t;
# 118 "/usr/include/clang/8.0.0/include/stddef.h" 3
# 1 "/usr/include/clang/8.0.0/include/__stddef_max_align_t.h" 1 3
# 35 "/usr/include/clang/8.0.0/include/__stddef_max_align_t.h" 3
typedef struct {
  long long __clang_max_align_nonce1
      __attribute__((__aligned__(__alignof__(long long))));
  long double __clang_max_align_nonce2
      __attribute__((__aligned__(__alignof__(long double))));
} max_align_t;
# 119 "/usr/include/clang/8.0.0/include/stddef.h" 2 3
# 23 "./include/filament/FilamentAPI.h" 2

namespace filament {







class __attribute__((visibility("default"))) FilamentAPI {
protected:

    FilamentAPI() noexcept = default;
    ~FilamentAPI() = default;

Нет особых указаний на то, в чем может быть ошибка, кто-нибудь может помочь?

Для справки по Makefile:

FILAMENT_LIBS=-lfilament -lbluegl -lbluevk -lfilabridge -lfilaflat -lutils
CC=clang++

main: main.o
    $(CC) -Llib/x86_64/ main.o $(FILAMENT_LIBS) -lpthread -lc++ -ldl -o main

main.o: main.cpp
    $(CC) -Iinclude/ -std=c++14 -pthread -c main.cpp

clean:
    rm -f main main.o

.PHONY: clean
...