小编Vic*_*cVu的帖子

未解析的外部符号"public:virtual struct QMetaObject const*__thiscall Parent

我从QObject继承了一个类:

class Parent: public QObject
{
    Q_OBJECT
    QObject* cl;

public:
    Parent(QObject *parent=0):QObject(parent) {
        cl = NULL;
    }

    QObject* getCl() const {
        return cl;
    }
    void setCl(QObject *obj) {
        cl = obj;
    }
};
Run Code Online (Sandbox Code Playgroud)

但是当我写道:

Parent ev;
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

main.obj:-1: error: LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __thiscall Parent::metaObject(void)const " (?metaObject@Parent@@UBEPBUQMetaObject@@XZ)

main.obj:-1: error: LNK2001: unresolved external symbol "public: virtual void * __thiscall Parent::qt_metacast(char const *)" (?qt_metacast@Parent@@UAEPAXPBD@Z)

main.obj:-1: error: LNK2001: unresolved external symbol "public: virtual int __thiscall Parent::qt_metacall(enum QMetaObject::Call,int,void …
Run Code Online (Sandbox Code Playgroud)

c++ qt qobject

67
推荐指数
8
解决办法
7万
查看次数

AAR可以包含传递依赖吗?

所以,现在我有一个图书馆项目,说项目public static取决于像这样的图书馆public static.

现在,它public static有一个maven buildstep,可以生成AAR并将其推送到公共场所.

所以现在让我说我有项目B,我们会称之为public static.Bar是一个Android应用程序,public static依赖于public static.

好吧,我有.但是,当我从该调用中调用public static函数时,我收到以下消息:public staticpublic staticpublic static

java.lang.NoClassDefFoundError: com.squareup.okhttp.OkUrlFactory
            at com.foo.sdk.utils.OkHttpStack.<init>(OkHttpStack.java:15)
Run Code Online (Sandbox Code Playgroud)

那么,这样的事情可能吗?或者public static需要手动依赖public static以及任何其他依赖项public static

android gradle maven android-studio android-gradle-plugin

61
推荐指数
1
解决办法
2万
查看次数

检测片段何时被绘制?

基本上我需要的功能,onWindowFocusChanged()但在一个Fragment.该onWindowFocusChanged()监听器是不实际提供给不幸的片段,所以我不知道该怎么做.

有什么办法吗?

android

26
推荐指数
1
解决办法
9345
查看次数

Proguard Printmapping在Android Studio 2.0.0(和2.1.0)中不起作用

使用gradle包装器2.10和Android Gradle构建工具2.0.0-beta7 2.1.0

从我的build.gradle:

buildTypes {
        all{
            minifyEnabled  true
            proguardFiles = [getDefaultProguardFile("proguard-android.txt"), 'proguard-project.pro'];
        }
    }
Run Code Online (Sandbox Code Playgroud)

这有效.事情被混淆了.

我的proguard-project.pro中还有以下行:

-printmapping my-mapping.txt

该文件中的其他所有内容都可以正常工作,但映射会一直打印到错误的位置:

Printing mapping to [C:\path\to\my\project\build\outputs\mapping\debug\mapping.txt]

这种语法有变化吗?

注意:我尝试过提供直接路径.我试过提供一个没有连字符的名字.没有什么变化.

现在我只是为它做了一个gradle复制任务.

android proguard gradle android-studio android-studio-2.0

26
推荐指数
2
解决办法
1899
查看次数

Android RTL密码字段?

看来如果你在Android上有一个EditText

android:inputType="textPassword" 要么 android:password="true

它们上面的字段,从右到左的文本不会从右到左显示(从左到右).

但是,如果没有密码表示,则文本会显示为RTL.

这是一个已知问题还是有解决方法?

android

24
推荐指数
2
解决办法
4338
查看次数

在proguard中保留内部接口方法名称

让我们说我......

public class SomeClass {


    public interface someInterface {

        public void firstMethod(String variable);


        public void secondMethod(String variable);


        public void thirdMethod();

    }
}
Run Code Online (Sandbox Code Playgroud)

我做..

-keep,includedescriptorclasses public class com.somepackage.SomeClass {
    <fields>;
    <methods>;
}

-keep public interface com.somepackage.someInterface {*;}
Run Code Online (Sandbox Code Playgroud)

我结束了

public interface someInterface {

        public void a(String variable);


        public void a(String variable);


        public void a();

    }
Run Code Online (Sandbox Code Playgroud)

如何确保此接口的方法名称不会被混淆,同时仍然混淆类的其余部分?

java android proguard

22
推荐指数
1
解决办法
1万
查看次数

在主干中使用带有视图的setElement

教程之后没问题,但我决定再次使用backbone 0.9和新的setElement命令运行它.

<script type="text/javascript" id = "test" >
    SearchView = Backbone.View.extend({
        initialize: function(){ 
            this.render();
        },
        render: function(){
            var template = _.template( $("#search_template").html(), {} );

     //Right here

            this.setElement( template );

        },
        events: {
            "click input[type=button]": "doSearch"
        },
            alert( "Search for " + $("#search_input").val() );
        }
    });

    var search_view = new SearchView({ el: $("#search_container") });
</script>
Run Code Online (Sandbox Code Playgroud)

以前,我用过this.el.html(template),但是如何使用新的setElement命令?

我目前所拥有的功能不起作用,应该出现的搜索字段不起作用.

javascript backbone.js underscore.js

17
推荐指数
1
解决办法
3万
查看次数

比较两个列表并返回不同的值和差异

我有两个清单:

List A {A, B, C, D}

List B {A, E, F, G}
Run Code Online (Sandbox Code Playgroud)

我需要制作三个列表:

一个只有列表A中的项目

(B,C,D)

一个只有列表B中的项目

(E,F,G)

一个与两个项目

(一个)

鉴于列表实际上是注册表项,可能会有大量的注册表项,因此如果我选择使用传统的ForEach或For(int i ...)方法,我可以预见到巨大的性能开销.

如果他们能有效地完成这项工作,我并不反对这些,但我更愿意使用Linq.

有没有人有任何想法?

我不关心相同的记录.

我已经创建了一个IEquatable<>将比较元素的类,但它是如何使用它来创建我正在努力的所需输出.

提前致谢.

顺便说一句,我使用VS2012与.NET 4.5

linq list duplicates c#-4.0

14
推荐指数
2
解决办法
1万
查看次数

单元测试网络响应.调试时工作,而不是实际运行时

我目前正在尝试测试实际收到的网络响应.

虽然我知道这不是我应该在测试方面做的事情,但我对自己的意志充满了好奇心,如果可能的话我想继续.

就目前而言,我已成功创建了测试.请求将毫无问题地发送到排队队列.

现在奇怪的部分:

该请求永远不会执行.这是我如何测试它的想法:

 @Test
    public void testSimpleGetResponseFromServerVolley() throws Exception {
        final CountDownLatch signal = new CountDownLatch(1);

        NetworkClass.NetworkListener listener = new NetworkClass.NetworkListener() {
            @Override
            public void onResponse(Response response) {
                assertThat(response != null);
                System.out.println("Got Response");
                signal.countDown();

            }

            @Override
            public void onError(Throwable error) {
                System.out.println("No Response");
                signal.countDown();
            }
        };
        NetworkClass.getResponseFromServer(null, listener);
        signal.await();
    }
Run Code Online (Sandbox Code Playgroud)

此代码意外地导致测试挂起并且永远不会完成.

然而,这是我不再理解这种情况的地方:

如果我通过调试运行测试并逐行执行,则测试成功执行,并收到响应.

我认为发生了什么:

当我逐步通过调试时,凌空requestQueue成功继续并发出请求,并在await()调用之前接收响应.

当我不通过调试步进时,await()阻塞处理所有这一切的线程.

关于如何处理这个问题的任何想法?

junit android mockito android-networking android-testing

9
推荐指数
1
解决办法
1801
查看次数

FLAG_ACTIVITY_CLEAR_TOP调用onCreate()而不是onResume()

所以我在整个应用程序中扩展了一个抽象类,它覆盖了后退键,将活动A重新排序到前面(带有标志).

那么,它将是:

A> B>在任何地方,后面的键应该让我回到A

我正在使用FLAG_ACTIVITY_CLEAR_TOP,但由于某些原因它完全令人耳目一新,我不希望这样.

所以:Flag_activity_clear_top正在重新加载onCreate()而不是onResume().是什么赋予了?

android

8
推荐指数
1
解决办法
8238
查看次数