小编Ov3*_*oad的帖子

CMake:将库链接到库

我有cmake的问题.我有,比方说,CMakeLists1有一个CMakeLists2所在的子目录.

在CMakeLists2中,我的目标是一个静态库.我想将它链接到外部库.我就这样做了:

link_directories ("path_to_library")
add_library (project2 ${sources})
target_link_libraries (project2 "name_of_external_lib")
Run Code Online (Sandbox Code Playgroud)

然后,我想在我的project1中使用这个project2中的一个类.我是这样做的:

add_executable (project1 ${sources})
target_link_libraries (project1 project2)
Run Code Online (Sandbox Code Playgroud)

但这根本不起作用.首先,project2没有链接到外部库.只是为了检查,我通过vs10项目属性添加了这个库,并且大小不同.第二件事,不知何故,project1看到了外部库(它在这个项目的库依赖项中),当然找不到它.

问题是什么?

cmake

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

将资源库添加到aosp包中

我正在与AOSP合作,我想创建自己的库并在app中使用它(来自packages/app /).我的图书馆只有一个班级:

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class MyFragment extends Fragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
           Bundle savedInstanceState) {
        return inflater.inflate(R.layout.my_fragment, container, false);

    }

}
Run Code Online (Sandbox Code Playgroud)

它有自己的布局.这个lib的Android.mk看起来像这样:

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE := my.own.package
LOCAL_NO_MANIFEST := true

LOCAL_SRC_FILES := $(call all-java-files-under, src)

LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res

include $(BUILD_STATIC_JAVA_LIBRARY)
Run Code Online (Sandbox Code Playgroud)

没有编译错误.但是当我在Android应用程序中使用我的lib时它会崩溃:

E/AndroidRuntime( 1030): FATAL EXCEPTION: main
E/AndroidRuntime( 1030): java.lang.NoClassDefFoundError: my.own.package.R$layout
E/AndroidRuntime( 1030):    at my.own.package.MyFragment.onCreateView(MyFragment.java:17)
E/AndroidRuntime( 1030):    at android.app.Fragment.performCreateView(Fragment.java:1695)
E/AndroidRuntime( 1030):    at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:885)
E/AndroidRuntime( 1030): …
Run Code Online (Sandbox Code Playgroud)

android android-source android-layout

7
推荐指数
1
解决办法
657
查看次数

通过意图添加多个电话号码的新联系人

我想添加一个新的联系人ContactsContract.Intents.Insert.但问题是我不知道有多少电话号码.当我明白我可以使用只传递三个电话号码PHONE,SECONDARY_PHONE,TERTIARY_PHONE常量.有没有办法传递三个以上的数字?

android android-intent android-contacts

7
推荐指数
1
解决办法
1980
查看次数

如何检测窗口是否已经最大化?

我有我的应用程序和第三方应用程序。我需要知道第三方应用程序的窗口已经最大化。有什么办法可以知道吗?
起初,我认为我可以使用自己的回调函数来处理该窗口的事件。

SetWindowLong(hwnd, GWL_WNDPROC, (LONG)WindowProc);
Run Code Online (Sandbox Code Playgroud)

但此功能失败并出现错误“访问被拒绝”。这是有原因的。更改窗口中不属于您的内容并不是很明智。

所以我该怎么做?

c c++ windows winapi

6
推荐指数
1
解决办法
6205
查看次数