cyndis / qmlrs

QtQuick interface for Rust
Apache License 2.0
436 stars 43 forks source link

Link errors when trying to build tests or examples on MacOS X #25

Closed SirVer closed 8 years ago

SirVer commented 9 years ago

Followup on https://github.com/cyndis/qmlrs/issues/14:

This is on MacOS X 10.10.

$ cargo --version
cargo 0.5.0-nightly (1f24be7 2015-08-13)
$ rustc --version
rustc 1.4.0-nightly (f05b22efb 2015-08-15)
$ git clone https://github.com/cyndis/qmlrs.git
$ cd qmlrs
$ export CMAKE_PREFIX_PATH=$(brew --prefix qt5)/lib/cmake/
$ cargo build -v
    Updating registry `https://github.com/rust-lang/crates.io-index`
    Updating git repository `https://github.com/alexcrichton/pkg-config-rs`
   Compiling libc v0.1.10
     Running `rustc /Users/sirver/.multirust/toolchains/nightly/cargo/registry/src/github.com-0a35038f75765ae4/libc-0.1.10/rust/src/liblibc/lib.rs --crate-name libc --crate-type lib -g --cfg feature=\"default\" --cfg feature=\"cargo-build\" -C metadata=144c435538abd757 -C extra-filename=-144c435538abd757 --out-dir /private/tmp/qmlrs/target/debug/deps --emit=dep-info,link -L dependency=/private/tmp/qmlrs/target/debug/deps -L dependency=/private/tmp/qmlrs/target/debug/deps --cap-lints allow`
   Compiling pkg-config v0.3.5 (https://github.com/alexcrichton/pkg-config-rs#42f1704b)
     Running `rustc /Users/sirver/.multirust/toolchains/nightly/cargo/git/checkouts/pkg-config-rs-34acd6273d8a7d7a/master/src/lib.rs --crate-name pkg_config --crate-type lib -g -C metadata=25b537b84ffabba9 -C extra-filename=-25b537b84ffabba9 --out-dir /private/tmp/qmlrs/target/debug/deps --emit=dep-info,link -L dependency=/private/tmp/qmlrs/target/debug/deps -L dependency=/private/tmp/qmlrs/target/debug/deps --cap-lints allow`
   Compiling qmlrs v0.0.1 (file:///private/tmp/qmlrs)
     Running `rustc build.rs --crate-name build_script_build --crate-type bin -C prefer-dynamic -g --out-dir /private/tmp/qmlrs/target/debug/build/qmlrs-6b200e3e9d61f85f --emit=dep-info,link -L dependency=/private/tmp/qmlrs/target/debug -L dependency=/private/tmp/qmlrs/target/debug/deps --extern pkg_config=/private/tmp/qmlrs/target/debug/deps/libpkg_config-25b537b84ffabba9.rlib`
     Running `/private/tmp/qmlrs/target/debug/build/qmlrs-6b200e3e9d61f85f/build-script-build`
     Running `rustc src/lib.rs --crate-name qmlrs --crate-type lib -g --out-dir /private/tmp/qmlrs/target/debug --emit=dep-info,link -L dependency=/private/tmp/qmlrs/target/debug -L dependency=/private/tmp/qmlrs/target/debug/deps --extern libc=/private/tmp/qmlrs/target/debug/deps/liblibc-144c435538abd757.rlib -L native=/private/tmp/qmlrs/ext/libqmlrswrapper/build -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -l static=qmlrswrapper -l dylib=stdc++`
src/variant.rs:12:5: 12:60 warning: the trait `core::marker::Sized` is not implemented for the type `Self` [E0277]
src/variant.rs:12     fn from_qvariant(arg: *const QVariant) -> Option<Self>;
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/variant.rs:12:5: 12:60 help: run `rustc --explain E0277` to see a detailed explanation
src/variant.rs:12:5: 12:60 note: `Self` does not have a constant size known at compile-time
src/variant.rs:12     fn from_qvariant(arg: *const QVariant) -> Option<Self>;
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/variant.rs:12:5: 12:60 note: this warning results from recent bug fixes and clarifications; it will become a HARD ERROR in the next release. See RFC 1214 for details.
src/variant.rs:12     fn from_qvariant(arg: *const QVariant) -> Option<Self>;
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/variant.rs:12:5: 12:60 note: required by `core::option::Option`
src/variant.rs:12     fn from_qvariant(arg: *const QVariant) -> Option<Self>;
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

So far so good. Let's try tests:

$ cargo test -v
       Fresh pkg-config v0.3.5 (https://github.com/alexcrichton/pkg-config-rs#42f1704b)
   Compiling qmlrs v0.0.1 (file:///private/tmp/qmlrs)
     Running `/private/tmp/qmlrs/target/debug/build/qmlrs-6b200e3e9d61f85f/build-script-build`
       Fresh libc v0.1.10
     Running `rustc src/lib.rs --crate-name qmlrs --crate-type lib -g --out-dir /private/tmp/qmlrs/target/debug --emit=dep-info,link -L dependency=/private/tmp/qmlrs/target/debug -L dependency=/private/tmp/qmlrs/target/debug/deps --extern libc=/private/tmp/qmlrs/target/debug/deps/liblibc-144c435538abd757.rlib -L native=/private/tmp/qmlrs/ext/libqmlrswrapper/build -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -l static=qmlrswrapper -l dylib=stdc++`
     Running `rustc src/lib.rs --crate-name qmlrs --crate-type lib -g --test -C metadata=f9b392aee7ed916b -C extra-filename=-f9b392aee7ed916b --out-dir /private/tmp/qmlrs/target/debug --emit=dep-info,link -L dependency=/private/tmp/qmlrs/target/debug -L dependency=/private/tmp/qmlrs/target/debug/deps --extern libc=/private/tmp/qmlrs/target/debug/deps/liblibc-144c435538abd757.rlib -L native=/private/tmp/qmlrs/ext/libqmlrswrapper/build -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -l static=qmlrswrapper -l dylib=stdc++`
src/variant.rs:12:5: 12:60 warning: the trait `core::marker::Sized` is not implemented for the type `Self` [E0277]
src/variant.rs:12     fn from_qvariant(arg: *const QVariant) -> Option<Self>;
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/variant.rs:12:5: 12:60 help: run `rustc --explain E0277` to see a detailed explanation
src/variant.rs:12:5: 12:60 note: `Self` does not have a constant size known at compile-time
src/variant.rs:12     fn from_qvariant(arg: *const QVariant) -> Option<Self>;
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/variant.rs:12:5: 12:60 note: this warning results from recent bug fixes and clarifications; it will become a HARD ERROR in the next release. See RFC 1214 for details.
src/variant.rs:12     fn from_qvariant(arg: *const QVariant) -> Option<Self>;
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/variant.rs:12:5: 12:60 note: required by `core::option::Option`
src/variant.rs:12     fn from_qvariant(arg: *const QVariant) -> Option<Self>;
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/variant.rs:12:5: 12:60 warning: the trait `core::marker::Sized` is not implemented for the type `Self` [E0277]
src/variant.rs:12     fn from_qvariant(arg: *const QVariant) -> Option<Self>;
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/variant.rs:12:5: 12:60 help: run `rustc --explain E0277` to see a detailed explanation
src/variant.rs:12:5: 12:60 note: `Self` does not have a constant size known at compile-time
src/variant.rs:12     fn from_qvariant(arg: *const QVariant) -> Option<Self>;
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/variant.rs:12:5: 12:60 note: this warning results from recent bug fixes and clarifications; it will become a HARD ERROR in the next release. See RFC 1214 for details.
src/variant.rs:12     fn from_qvariant(arg: *const QVariant) -> Option<Self>;
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/variant.rs:12:5: 12:60 note: required by `core::option::Option`
src/variant.rs:12     fn from_qvariant(arg: *const QVariant) -> Option<Self>;
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     Running `rustc examples/factorial.rs --crate-name factorial --crate-type bin -g --out-dir /private/tmp/qmlrs/target/debug/examples --emit=dep-info,link -L dependency=/private/tmp/qmlrs/target/debug -L dependency=/private/tmp/qmlrs/target/debug/deps --extern libc=/private/tmp/qmlrs/target/debug/deps/liblibc-144c435538abd757.rlib --extern qmlrs=/private/tmp/qmlrs/target/debug/libqmlrs.rlib -L native=/private/tmp/qmlrs/ext/libqmlrswrapper/build -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L native=/private/tmp/qmlrs/ext/libqmlrswrapper/build -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib`
     Running `rustc tests/simple_test.rs --crate-name simple_test --crate-type bin -g --test -C metadata=7dba3db013d362e8 -C extra-filename=-7dba3db013d362e8 --out-dir /private/tmp/qmlrs/target/debug --emit=dep-info,link -L dependency=/private/tmp/qmlrs/target/debug -L dependency=/private/tmp/qmlrs/target/debug/deps --extern libc=/private/tmp/qmlrs/target/debug/deps/liblibc-144c435538abd757.rlib --extern qmlrs=/private/tmp/qmlrs/target/debug/libqmlrs.rlib -L native=/private/tmp/qmlrs/ext/libqmlrswrapper/build -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L native=/private/tmp/qmlrs/ext/libqmlrswrapper/build -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib`
error: linking with `cc` failed: exit code: 1
note: "cc" "-m64" "-L" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib" "/private/tmp/qmlrs/target/debug/qmlrs-f9b392aee7ed916b.0.o" "-o" "/private/tmp/qmlrs/target/debug/qmlrs-f9b392aee7ed916b" "-Wl,-dead_strip" "-nodefaultlibs" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/libtest-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/libterm-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/libserialize-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/libgetopts-35017696.rlib" "/private/tmp/qmlrs/target/debug/deps/liblibc-144c435538abd757.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/liblog-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/libstd-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/libcollections-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/librustc_unicode-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/librand-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/liballoc-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/liballoc_jemalloc-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/liblibc-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/libcore-35017696.rlib" "-L" "/private/tmp/qmlrs/target/debug" "-L" "/private/tmp/qmlrs/target/debug/deps" "-L" "/private/tmp/qmlrs/ext/libqmlrswrapper/build" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-L" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib" "-L" "/private/tmp/qmlrs/.rust/lib/x86_64-apple-darwin" "-L" "/private/tmp/qmlrs/lib/x86_64-apple-darwin" "-Wl,-force_load,/private/tmp/qmlrs/ext/libqmlrswrapper/build/libqmlrswrapper.a" "-l" "stdc++" "-l" "c" "-l" "m" "-l" "System" "-l" "pthread" "-l" "c" "-l" "m" "-Wl,-rpath,@loader_path/../../../../../Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib" "-Wl,-rpath,/usr/local/lib/rustlib/x86_64-apple-darwin/lib" "-l" "compiler-rt"
note: ld: warning: directory not found for option '-L/private/tmp/qmlrs/.rust/lib/x86_64-apple-darwin'
ld: warning: directory not found for option '-L/private/tmp/qmlrs/lib/x86_64-apple-darwin'
Undefined symbols for architecture x86_64:
  "typeinfo for QQmlApplicationEngine", referenced from:
      typeinfo for QrsApplicationEngine in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
  "QQmlEngine::event(QEvent*)", referenced from:
      vtable for QrsApplicationEngine in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
  "QObject::eventFilter(QObject*, QEvent*)", referenced from:
      vtable for QrsApplicationEngine in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
  "QObject::childEvent(QChildEvent*)", referenced from:
      vtable for QrsApplicationEngine in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
  "QObject::connectNotify(QMetaMethod const&)", referenced from:
      vtable for QrsApplicationEngine in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
  "QQmlApplicationEngine::qt_metacast(char const*)", referenced from:
      QrsApplicationEngine::qt_metacast(char const*) in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
  "QObjectData::dynamicMetaObject() const", referenced from:
      QrsApplicationEngine::metaObject() const in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
  "QQmlApplicationEngine::staticMetaObject", referenced from:
      QrsApplicationEngine::staticMetaObject in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
  "QQmlApplicationEngine::~QQmlApplicationEngine()", referenced from:
      QrsApplicationEngine::~QrsApplicationEngine() in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
      QrsApplicationEngine::~QrsApplicationEngine() in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
  "QVariant::operator=(QVariant const&)", referenced from:
      QrsApplicationEngine::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
  "QVariant::QVariant(QVariant const&)", referenced from:
      QList<QVariant>::node_copy(QList<QVariant>::Node*, QList<QVariant>::Node*, QList<QVariant>::Node*) in libqmlrswrapper.a(libqmlrswrapper.cpp.o)
  "QObject::disconnectNotify(QMetaMethod const&)", referenced from:
      vtable for QrsApplicationEngine in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
  "QCoreApplication::self", referenced from:
      _qmlrs_create_engine_headless in libqmlrswrapper.a(libqmlrswrapper.cpp.o)
  "QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)", referenced from:
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrswrapper.a(libqmlrswrapper.cpp.o)
      QrsApplicationEngine::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
  "QListData::dispose(QListData::Data*)", referenced from:
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrswrapper.a(libqmlrswrapper.cpp.o)
      QList<QVariant>::detach_helper(int) in libqmlrswrapper.a(libqmlrswrapper.cpp.o)
      QrsApplicationEngine::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
      QList<QVariant>::QList(QList<QVariant> const&) in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
  "QString::toUtf8_helper(QString const&)", referenced from:
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrswrapper.a(libqmlrswrapper.cpp.o)
  "QQmlApplicationEngine::rootObjects()", referenced from:
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrswrapper.a(libqmlrswrapper.cpp.o)
  "QListData::detach(int)", referenced from:
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrswrapper.a(libqmlrswrapper.cpp.o)
      QList<QVariant>::detach_helper(int) in libqmlrswrapper.a(libqmlrswrapper.cpp.o)
      QList<QVariant>::QList(QList<QVariant> const&) in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
  "QVariant::~QVariant()", referenced from:
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrswrapper.a(libqmlrswrapper.cpp.o)
      QList<QVariant>::detach_helper(int) in libqmlrswrapper.a(libqmlrswrapper.cpp.o)
      QList<QVariant>::node_copy(QList<QVariant>::Node*, QList<QVariant>::Node*, QList<QVariant>::Node*) in libqmlrswrapper.a(libqmlrswrapper.cpp.o)
      QrsApplicationEngine::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
  "QObject::customEvent(QEvent*)", referenced from:
      vtable for QrsApplicationEngine in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
  "QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument)", referenced from:
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrswrapper.a(libqmlrswrapper.cpp.o)
  "QObject::timerEvent(QTimerEvent*)", referenced from:
      vtable for QrsApplicationEngine in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
  "QCoreApplication::QCoreApplication(int&, char**, int)", referenced from:
      _qmlrs_create_engine_headless in libqmlrswrapper.a(libqmlrswrapper.cpp.o)
  "QQmlApplicationEngine::qt_metacall(QMetaObject::Call, int, void**)", referenced from:
      QrsApplicationEngine::qt_metacall(QMetaObject::Call, int, void**) in libqmlrswrapper.a(qmlrswrapper_automoc.cpp.o)
  "QQmlApplicationEngine::QQmlApplicationEngine(QObject*)", referenced from:
      _qmlrs_create_engine_headless in libqmlrswrapper.a(libqmlrswrapper.cpp.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

error: aborting due to previous error
Build failed, waiting for other jobs to finish...
error: linking with `cc` failed: exit code: 1
note: "cc" "-m64" "-L" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib" "/private/tmp/qmlrs/target/debug/simple_test-7dba3db013d362e8.0.o" "-o" "/private/tmp/qmlrs/target/debug/simple_test-7dba3db013d362e8" "-Wl,-dead_strip" "-nodefaultlibs" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/libtest-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/libgetopts-35017696.rlib" "/private/tmp/qmlrs/target/debug/libqmlrs.rlib" "/private/tmp/qmlrs/target/debug/deps/liblibc-144c435538abd757.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/libterm-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/libserialize-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/liblog-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/libstd-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/libcollections-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/librustc_unicode-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/librand-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/liballoc-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/liballoc_jemalloc-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/liblibc-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/libcore-35017696.rlib" "-L" "/private/tmp/qmlrs/target/debug" "-L" "/private/tmp/qmlrs/target/debug/deps" "-L" "/private/tmp/qmlrs/ext/libqmlrswrapper/build" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-L" "/private/tmp/qmlrs/ext/libqmlrswrapper/build" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-L" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib" "-L" "/private/tmp/qmlrs/.rust/lib/x86_64-apple-darwin" "-L" "/private/tmp/qmlrs/lib/x86_64-apple-darwin" "-l" "stdc++" "-l" "c" "-l" "m" "-l" "System" "-l" "pthread" "-l" "c" "-l" "m" "-Wl,-rpath,@loader_path/../../../../../Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib" "-Wl,-rpath,/usr/local/lib/rustlib/x86_64-apple-darwin/lib" "-l" "compiler-rt"
note: ld: warning: directory not found for option '-L/private/tmp/qmlrs/.rust/lib/x86_64-apple-darwin'
ld: warning: directory not found for option '-L/private/tmp/qmlrs/lib/x86_64-apple-darwin'
Undefined symbols for architecture x86_64:
  "typeinfo for QQmlApplicationEngine", referenced from:
      typeinfo for QrsApplicationEngine in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QQmlEngine::event(QEvent*)", referenced from:
      vtable for QrsApplicationEngine in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QObject::eventFilter(QObject*, QEvent*)", referenced from:
      vtable for QrsApplicationEngine in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QObject::timerEvent(QTimerEvent*)", referenced from:
      vtable for QrsApplicationEngine in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QObject::childEvent(QChildEvent*)", referenced from:
      vtable for QrsApplicationEngine in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QObject::customEvent(QEvent*)", referenced from:
      vtable for QrsApplicationEngine in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QObject::connectNotify(QMetaMethod const&)", referenced from:
      vtable for QrsApplicationEngine in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QQmlApplicationEngine::qt_metacast(char const*)", referenced from:
      QrsApplicationEngine::qt_metacast(char const*) in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QObjectData::dynamicMetaObject() const", referenced from:
      QrsApplicationEngine::metaObject() const in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QQmlApplicationEngine::load(QUrl const&)", referenced from:
      _qmlrs_engine_load_url in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QListData::detach(int)", referenced from:
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QList<QVariant>::detach_helper(int) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QList<QVariant>::QList(QList<QVariant> const&) in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QQmlApplicationEngine::rootObjects()", referenced from:
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QString::toUtf8_helper(QString const&)", referenced from:
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QGuiApplication::exec()", referenced from:
      _qmlrs_app_exec in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QCoreApplication::QCoreApplication(int&, char**, int)", referenced from:
      _qmlrs_create_engine_headless in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QUrl::QUrl(QString const&, QUrl::ParsingMode)", referenced from:
      _qmlrs_engine_load_url in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QVariant::~QVariant()", referenced from:
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QList<QVariant>::detach_helper(int) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QList<QVariant>::node_copy(QList<QVariant>::Node*, QList<QVariant>::Node*, QList<QVariant>::Node*) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QrsApplicationEngine::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QObject::disconnectNotify(QMetaMethod const&)", referenced from:
      vtable for QrsApplicationEngine in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QCoreApplication::self", referenced from:
      _qmlrs_create_engine_headless in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)", referenced from:
      _qmlrs_engine_load_url in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QrsApplicationEngine::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QListData::dispose(QListData::Data*)", referenced from:
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QList<QVariant>::detach_helper(int) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QrsApplicationEngine::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
      QList<QVariant>::QList(QList<QVariant> const&) in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument)", referenced from:
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QString::fromUtf8_helper(char const*, int)", referenced from:
      _qmlrs_engine_load_url in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QQmlApplicationEngine::staticMetaObject", referenced from:
      QrsApplicationEngine::staticMetaObject in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QQmlApplicationEngine::~QQmlApplicationEngine()", referenced from:
      QrsApplicationEngine::~QrsApplicationEngine() in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
      QrsApplicationEngine::~QrsApplicationEngine() in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QVariant::operator=(QVariant const&)", referenced from:
      QrsApplicationEngine::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QVariant::QVariant(QVariant const&)", referenced from:
      QList<QVariant>::node_copy(QList<QVariant>::Node*, QList<QVariant>::Node*, QList<QVariant>::Node*) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QUrl::~QUrl()", referenced from:
      _qmlrs_engine_load_url in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QQmlApplicationEngine::qt_metacall(QMetaObject::Call, int, void**)", referenced from:
      QrsApplicationEngine::qt_metacall(QMetaObject::Call, int, void**) in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QQmlApplicationEngine::QQmlApplicationEngine(QObject*)", referenced from:
      _qmlrs_create_engine_headless in libqmlrs.rlib(libqmlrswrapper.cpp.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

error: aborting due to previous error
error: linking with `cc` failed: exit code: 1
note: "cc" "-m64" "-L" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib" "/private/tmp/qmlrs/target/debug/examples/factorial.0.o" "-o" "/private/tmp/qmlrs/target/debug/examples/factorial" "-Wl,-dead_strip" "-nodefaultlibs" "/private/tmp/qmlrs/target/debug/libqmlrs.rlib" "/private/tmp/qmlrs/target/debug/deps/liblibc-144c435538abd757.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/libstd-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/libcollections-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/librustc_unicode-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/librand-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/liballoc-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/liballoc_jemalloc-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/liblibc-35017696.rlib" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib/libcore-35017696.rlib" "-L" "/private/tmp/qmlrs/target/debug" "-L" "/private/tmp/qmlrs/target/debug/deps" "-L" "/private/tmp/qmlrs/ext/libqmlrswrapper/build" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-L" "/private/tmp/qmlrs/ext/libqmlrswrapper/build" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-F" "/usr/local/Cellar/qt5/5.5.0/lib" "-L" "/Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib" "-L" "/private/tmp/qmlrs/.rust/lib/x86_64-apple-darwin" "-L" "/private/tmp/qmlrs/lib/x86_64-apple-darwin" "-l" "stdc++" "-l" "c" "-l" "m" "-l" "System" "-l" "pthread" "-l" "c" "-l" "m" "-Wl,-rpath,@loader_path/../../../../../../Users/sirver/.multirust/toolchains/nightly/lib/rustlib/x86_64-apple-darwin/lib" "-Wl,-rpath,/usr/local/lib/rustlib/x86_64-apple-darwin/lib" "-l" "compiler-rt"
note: ld: warning: directory not found for option '-L/private/tmp/qmlrs/.rust/lib/x86_64-apple-darwin'
ld: warning: directory not found for option '-L/private/tmp/qmlrs/lib/x86_64-apple-darwin'
Undefined symbols for architecture x86_64:
  "QQmlEngine::event(QEvent*)", referenced from:
      vtable for QrsApplicationEngine in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QQmlApplicationEngine::~QQmlApplicationEngine()", referenced from:
      QrsApplicationEngine::~QrsApplicationEngine() in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
      QrsApplicationEngine::~QrsApplicationEngine() in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QQmlApplicationEngine::qt_metacall(QMetaObject::Call, int, void**)", referenced from:
      QrsApplicationEngine::qt_metacall(QMetaObject::Call, int, void**) in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QQmlApplicationEngine::qt_metacast(char const*)", referenced from:
      QrsApplicationEngine::qt_metacast(char const*) in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QObjectData::dynamicMetaObject() const", referenced from:
      QrsApplicationEngine::metaObject() const in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QVariant::operator=(QVariant const&)", referenced from:
      QrsApplicationEngine::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "typeinfo for QObject", referenced from:
      typeinfo for QrsDynamicObject in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QObject::event(QEvent*)", referenced from:
      vtable for QrsDynamicObject in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QObject::eventFilter(QObject*, QEvent*)", referenced from:
      vtable for QrsDynamicObject in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      vtable for QrsApplicationEngine in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QObject::timerEvent(QTimerEvent*)", referenced from:
      vtable for QrsDynamicObject in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      vtable for QrsApplicationEngine in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QUrl::~QUrl()", referenced from:
      _qmlrs_engine_load_url in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      _qmlrs_engine_load_from_data in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QObject::childEvent(QChildEvent*)", referenced from:
      vtable for QrsDynamicObject in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      vtable for QrsApplicationEngine in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QObject::customEvent(QEvent*)", referenced from:
      vtable for QrsDynamicObject in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      vtable for QrsApplicationEngine in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QObject::connectNotify(QMetaMethod const&)", referenced from:
      vtable for QrsDynamicObject in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      vtable for QrsApplicationEngine in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QListData::erase(void**)", referenced from:
      QList<unsigned int>::takeFirst() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "qBadAlloc()", referenced from:
      QVector<QrsDynamicMetaObject::finalize()::ArrayData>::reallocData(int, int, QFlags<QArrayData::AllocationOption>) in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      QVector<unsigned int>::reallocData(int, int, QFlags<QArrayData::AllocationOption>) in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QMessageLogger::warning(char const*, ...) const", referenced from:
      QrsDynamicObject::qt_metacall(QMetaObject::Call, int, void**) in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QObject::~QObject()", referenced from:
      QrsDynamicObject::~QrsDynamicObject() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      QrsDynamicObject::~QrsDynamicObject() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QQmlApplicationEngine::staticMetaObject", referenced from:
      QrsApplicationEngine::staticMetaObject in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QListData::detach_grow(int*, int)", referenced from:
      QList<QrsDynamicMetaObject::Method>::detach_helper_grow(int, int) in libqmlrs.rlib(qrsdynamicobject_capi.cpp.o)
      QList<unsigned int>::detach_helper_grow(int, int) in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QGuiApplication::QGuiApplication(int&, char**, int)", referenced from:
      _qmlrs_create_engine in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QObject::QObject(QObject*)", referenced from:
      QrsDynamicMetaObject::create(void* (*)(void*, int, QVariant**), void*) in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "typeinfo for QQmlApplicationEngine", referenced from:
      typeinfo for QrsApplicationEngine in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QString::fromAscii_helper(char const*, int)", referenced from:
      QrsDynamicMetaObject::finalize() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QQmlApplicationEngine::loadData(QByteArray const&, QUrl const&)", referenced from:
      _qmlrs_engine_load_from_data in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QByteArray::append(QByteArray const&)", referenced from:
      QrsDynamicMetaObject::finalize() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QVariant::type() const", referenced from:
      _qmlrs_variant_get_type in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QByteArray::append(char)", referenced from:
      QrsDynamicMetaObject::finalize() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QVariant::QVariant(QVariant const&)", referenced from:
      QList<QVariant>::node_copy(QList<QVariant>::Node*, QList<QVariant>::Node*, QList<QVariant>::Node*) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QObject::disconnectNotify(QMetaMethod const&)", referenced from:
      vtable for QrsDynamicObject in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      vtable for QrsApplicationEngine in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QArrayData::shared_null", referenced from:
      QrsDynamicMetaObject::finalize() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      QVector<QrsDynamicMetaObject::finalize()::ArrayData>::reallocData(int, int, QFlags<QArrayData::AllocationOption>) in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      QVector<unsigned int>::reallocData(int, int, QFlags<QArrayData::AllocationOption>) in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QListData::shared_null", referenced from:
      QrsDynamicMetaObject::QrsDynamicMetaObject() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      QrsDynamicMetaObject::finalize() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QVariant::~QVariant()", referenced from:
      _qmlrs_variant_set_int64 in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QList<QVariant>::detach_helper(int) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QList<QVariant>::node_copy(QList<QVariant>::Node*, QList<QVariant>::Node*, QList<QVariant>::Node*) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QrsApplicationEngine::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QQmlContext::setContextProperty(QString const&, QObject*)", referenced from:
      _qmlrs_engine_set_property in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QListData::append()", referenced from:
      QList<QrsDynamicMetaObject::Method>::append(QrsDynamicMetaObject::Method const&) in libqmlrs.rlib(qrsdynamicobject_capi.cpp.o)
      QrsDynamicMetaObject::finalize() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QMessageLogger::fatal(char const*, ...) const", referenced from:
      QrsDynamicMetaObject::addSlot(QString, unsigned int) in libqmlrs.rlib(qrsdynamicobject_capi.cpp.o)
  "QGuiApplication::exec()", referenced from:
      _qmlrs_app_exec in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QListData::dispose(QListData::Data*)", referenced from:
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QList<QVariant>::detach_helper(int) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QList<QrsDynamicMetaObject::Method>::detach_helper_grow(int, int) in libqmlrs.rlib(qrsdynamicobject_capi.cpp.o)
      QrsDynamicMetaObject::~QrsDynamicMetaObject() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      QrsDynamicMetaObject::finalize() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      QList<unsigned int>::takeFirst() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      QList<unsigned int>::detach_helper_grow(int, int) in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      ...
  "QArrayData::deallocate(QArrayData*, unsigned long, unsigned long)", referenced from:
      _qmlrs_engine_load_url in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      _qmlrs_engine_load_from_data in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      _qmlrs_engine_set_property in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      _qmlrs_metaobject_add_slot in libqmlrs.rlib(qrsdynamicobject_capi.cpp.o)
      QrsDynamicMetaObject::addSlot(QString, unsigned int) in libqmlrs.rlib(qrsdynamicobject_capi.cpp.o)
      QList<QrsDynamicMetaObject::Method>::detach_helper_grow(int, int) in libqmlrs.rlib(qrsdynamicobject_capi.cpp.o)
      ...
  "QQmlEngine::rootContext() const", referenced from:
      _qmlrs_engine_set_property in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QUrl::QUrl(QString const&, QUrl::ParsingMode)", referenced from:
      _qmlrs_engine_load_url in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QQmlApplicationEngine::load(QUrl const&)", referenced from:
      _qmlrs_engine_load_url in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QQmlApplicationEngine::rootObjects()", referenced from:
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QListData::detach(int)", referenced from:
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QList<QVariant>::detach_helper(int) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QList<unsigned int>::takeFirst() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      QList<QrsDynamicMetaObject::Method>::detach_helper(int) in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      QList<QVariant>::QList(QList<QVariant> const&) in libqmlrs.rlib(qmlrswrapper_automoc.cpp.o)
  "QString::toUtf8_helper(QString const&)", referenced from:
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      QrsDynamicMetaObject::finalize() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QObject::qt_metacall(QMetaObject::Call, int, void**)", referenced from:
      QrsDynamicObject::qt_metacall(QMetaObject::Call, int, void**) in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QString::fromUtf8_helper(char const*, int)", referenced from:
      _qmlrs_engine_load_url in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      _qmlrs_engine_set_property in libqmlrs.rlib(libqmlrswrapper.cpp.o)
      _qmlrs_metaobject_add_slot in libqmlrs.rlib(qrsdynamicobject_capi.cpp.o)
      QrsDynamicMetaObject::finalize() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QByteArray::fromRawData(char const*, int)", referenced from:
      _qmlrs_engine_load_from_data in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QObject::staticMetaObject", referenced from:
      QrsDynamicMetaObject::finalize() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument)", referenced from:
      QrsApplicationEngine::invokeQmlSlot(QString, QList<QVariant>) in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QUrl::QUrl()", referenced from:
      _qmlrs_engine_load_from_data in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>)", referenced from:
      QrsDynamicMetaObject::finalize() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      QVector<QrsDynamicMetaObject::finalize()::ArrayData>::reallocData(int, int, QFlags<QArrayData::AllocationOption>) in libqmlrs.rlib(qrsdynamicobject.cpp.o)
      QVector<unsigned int>::reallocData(int, int, QFlags<QArrayData::AllocationOption>) in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QString::arg(long long, int, int, QChar) const", referenced from:
      QrsDynamicMetaObject::finalize() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QVariant::toLongLong(bool*) const", referenced from:
      _qmlrs_variant_get_int64 in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QCoreApplication::self", referenced from:
      _qmlrs_create_engine in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QVariant::canConvert(int) const", referenced from:
      _qmlrs_variant_get_type in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QVariant::QVariant(long long)", referenced from:
      _qmlrs_variant_set_int64 in libqmlrs.rlib(libqmlrswrapper.cpp.o)
  "QByteArray::reallocData(unsigned int, QFlags<QArrayData::AllocationOption>)", referenced from:
      QrsDynamicMetaObject::finalize() in libqmlrs.rlib(qrsdynamicobject.cpp.o)
  "QQmlApplicationEngine::QQmlApplicationEngine(QObject*)", referenced from:
      _qmlrs_create_engine in libqmlrs.rlib(libqmlrswrapper.cpp.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

error: aborting due to previous error
Could not compile `qmlrs`.

Caused by:
  Process didn't exit successfully: `rustc src/lib.rs --crate-name qmlrs --crate-type lib -g --test -C metadata=f9b392aee7ed916b -C extra-filename=-f9b392aee7ed916b --out-dir /private/tmp/qmlrs/target/debug --emit=dep-info,link -L dependency=/private/tmp/qmlrs/target/debug -L dependency=/private/tmp/qmlrs/target/debug/deps --extern libc=/private/tmp/qmlrs/target/debug/deps/liblibc-144c435538abd757.rlib -L native=/private/tmp/qmlrs/ext/libqmlrswrapper/build -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -L framework=/usr/local/Cellar/qt5/5.5.0/lib -l static=qmlrswrapper -l dylib=stdc++` (exit code: 101)
jxs commented 9 years ago

i am also having this error

evanmeng commented 8 years ago

same here.

tpickett66 commented 8 years ago

I've had success building the examples after fiddling with a few cmake and pkg-config parameters on OSX. Using homebrew installed qt5 here's what I've been using:

$ PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/Cellar/qt5/5.5.1_2/lib/pkgconfig \
CMAKE_PREFIX_PATH=/usr/local/Cellar/qt5/5.5.1_2/lib/cmake \
cargo run --example factorial

Setting those two are somewhat brittle since they're linking to a specific version of Qt, sadly there are many conflicts between versions 4 and 5 so brew doesn't link it by default.

florianjacob commented 8 years ago

@jxs @evanmeng You're also on OSX, I guess?

@tpickett66 Quoting my pkg-config manpage,

pkg-config retrieves information about packages from special metadata files. These files are named after the package, and has a .pc extension. On most systems, pkg-config looks in /usr/lib/pkgconfig, /usr/share/pkgconfig, /usr/local/lib/pkgconfig and /usr/local/share/pkgconfig for these files. It will additionally look in the colon-separated (on Windows, semicolon-separated) list of directories specified by the PKG_CONFIG_PATH environment variable.

So /usr/local/lib/pkgconfig in PKG_CONFIG_PATH might not be needed if it's the same way on OSX.

If I understood https://github.com/Homebrew/homebrew/issues/12571 right, this is a more robust way of determining the installed formula's directory than using --prefix:

$(brew --repository)/Library/LinkedKegs/<formula>

So, for qmlrs, what you need would be something like:

$ PKG_CONFIG_PATH=$(brew --repository)/Library/LinkedKegs/qt5/lib/pkgconfig \
CMAKE_PREFIX_PATH=$(brew --repository)/Library/LinkedKegs/qt5/lib/cmake \
cargo run --example factorial

@tpickett66 Could you please test & investigate this? If something like this works reliably and robust, we should at least add it to the documentation as homebrew build instructions.

tpickett66 commented 8 years ago

@florianjacob, the paths you've suggested are already included on the search paths for pkg-config. The trouble here is that homebrew doesn't link the qt5 package due to the conflicts. I'll poke at it a bit more to see if I can find something more stable.

tpickett66 commented 8 years ago

I've found a stable solution and am adding it to build.rs